No conversion from DWORD to const char*

user3281950

As the title say, when i try to compile my program I receive a debug error which says:

Error 7 error C2446: '>=' : no conversion from 'DWORD' to 'const char *'

Some code:

virtual CBaseDecorator* __Clone(CParticleInstance* pfi, CParticleInstance* pi) 
{ 
    return new CTextureAnimationCWDecorator(
               fFrameTime,n,(BYTE*)((unsigned char*)pi+((BYTE*)pIdx-(BYTE*)pfi))); 
}
virtual void __Excute(const CDecoratorData & d)
{
    fLastFrameTime -= d.fElapsedTime;
    while (fLastFrameTime<0.0f)
    {
         fLastFrameTime += fFrameTime;
          if (++(*pIdx) >= n) // error line
              *pIdx = 0;
    }
}
DWORD n;
float fLastFrameTime;
float fFrameTime;
BYTE* pIdx;
};

How can I solve this?

Elemental

There is a simple solution you have to cast the BYTE type to DWORD or the opposite like:

if (++(*pIdx) >= (BYTE)n) // error corrected

But this does lead me to question what you are doing. A DWORD is a much bigger storage that the BYTE type the pointer addresses - this comparison therefore looks dangerously like a spot where a subtle overflow bug might occur when n > 255.

Also you ruse of the ++ operator seems confusing - are you clear that this operator is NOT incrementing the pointer onto the next byte, but rather incrementing the value of the byte currently pointed to?

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

No conversion from "const char" to "int"

From Dev

conversion from `const char*' to `byte'

From Dev

Invalid conversion from ‘const char*’ to ‘unsigned char*’

From Dev

invalid conversion from 'const char*' to 'char*'

From Dev

Invalid conversion from 'char' to 'const char *'

From Dev

error: invalid conversion from ‘char’ to ‘const char*

From Dev

invalid conversion from ‘const char*’ to ‘char*

From Dev

error: invalid conversion from ‘char’ to ‘const char*

From Dev

Conversion not valid from char to const char*

From Dev

invalid conversion from ‘const char*’ to ‘char’ / uninitialized const member in struct

From Dev

g++ strstr says invalid conversion from const char * to char *

From Dev

ALL_OF invalid conversion from 'char' to 'const char*' [-fpermissive]

From Dev

strcpy() causes invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

From Dev

C++ invalid conversion from ‘char*’ to ‘const unsigned char*’

From Dev

EVP_DigestUpdate and "invalid conversion from ‘unsigned char*’ to ‘const char*’"

From Dev

Cant find resolution for the error "invalid conversion from char to const char*"

From Dev

error: invalid conversion from 'unsigned char*' to 'const signed char*'

From Dev

C - [Error] invalid conversion from 'char' to 'const char*' [-fpermissive]

From Dev

error: invalid conversion from 'char' to 'const char*' [-fpermissive]|

From Dev

Short one: invalid conversion from char to const char*

From Dev

c++ invalid conversion from 'const char*' to 'char*'

From Dev

Invalid conversion from 'char' to 'const char*' [-fpermissive](idk why)

From Dev

Conversion from string to const char* + size_t in ""operator

From Dev

No suitable conversion function from "std::string" to "const char *" exists

From Dev

C++: invalid conversion from 'const char*' to 'size_t'?

From Dev

Conversion from int to c-string (const char*) fails

From Dev

Why C doesn't allow implicit conversion from char ** to const char *const * (and C++ does)?

From Dev

Compare two char variable using strcmp in c++ shows invalid conversion from 'char' to 'const char*'

From Dev

invalid conversion const unsigned char

Related Related

  1. 1

    No conversion from "const char" to "int"

  2. 2

    conversion from `const char*' to `byte'

  3. 3

    Invalid conversion from ‘const char*’ to ‘unsigned char*’

  4. 4

    invalid conversion from 'const char*' to 'char*'

  5. 5

    Invalid conversion from 'char' to 'const char *'

  6. 6

    error: invalid conversion from ‘char’ to ‘const char*

  7. 7

    invalid conversion from ‘const char*’ to ‘char*

  8. 8

    error: invalid conversion from ‘char’ to ‘const char*

  9. 9

    Conversion not valid from char to const char*

  10. 10

    invalid conversion from ‘const char*’ to ‘char’ / uninitialized const member in struct

  11. 11

    g++ strstr says invalid conversion from const char * to char *

  12. 12

    ALL_OF invalid conversion from 'char' to 'const char*' [-fpermissive]

  13. 13

    strcpy() causes invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

  14. 14

    C++ invalid conversion from ‘char*’ to ‘const unsigned char*’

  15. 15

    EVP_DigestUpdate and "invalid conversion from ‘unsigned char*’ to ‘const char*’"

  16. 16

    Cant find resolution for the error "invalid conversion from char to const char*"

  17. 17

    error: invalid conversion from 'unsigned char*' to 'const signed char*'

  18. 18

    C - [Error] invalid conversion from 'char' to 'const char*' [-fpermissive]

  19. 19

    error: invalid conversion from 'char' to 'const char*' [-fpermissive]|

  20. 20

    Short one: invalid conversion from char to const char*

  21. 21

    c++ invalid conversion from 'const char*' to 'char*'

  22. 22

    Invalid conversion from 'char' to 'const char*' [-fpermissive](idk why)

  23. 23

    Conversion from string to const char* + size_t in ""operator

  24. 24

    No suitable conversion function from "std::string" to "const char *" exists

  25. 25

    C++: invalid conversion from 'const char*' to 'size_t'?

  26. 26

    Conversion from int to c-string (const char*) fails

  27. 27

    Why C doesn't allow implicit conversion from char ** to const char *const * (and C++ does)?

  28. 28

    Compare two char variable using strcmp in c++ shows invalid conversion from 'char' to 'const char*'

  29. 29

    invalid conversion const unsigned char

HotTag

Archive