Microsoft KB Archive/168433

From BetaArchive Wiki
Knowledge Base


Article ID: 168433

Article Last Modified on 10/24/2003



APPLIES TO

  • Microsoft Visual C++ 5.0 Enterprise Edition
  • Microsoft Visual C++ 5.0 Professional Edition



This article was previously published under Q168433

SYMPTOMS

_ttoi64 is incorrectly defined in TCHAR.H in Visual C/C++ 5.0.

RESOLUTION

Undefine _ttoi64 and redefine it correctly. For the complete solution, see the MORE INFORMATION section of this article.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This problem was corrected in Visual C++ version 6.0 for Windows.

MORE INFORMATION

_ttoi64 is a define that substitutes _atoi64 (if _UNICODE is not defined) or _wtoi64 if _UNICODE is defined. On line 481 of TCHAR.H is the following:

   #define _ttoi64     atoi64
                


this should be:

   #define _ttoi64     _atoi64
                


You may add the following code to your source file to correct the problem:

   // _ttoi64 is incorrectly defined in TCHAR.H, so you need to undefine
   // it and redefine it correctly to avoid a compile error when
   // building a non-Unicode version of your application.

      #ifdef _UNICODE
        #ifdef  _ttoi64
          #undef  _ttoi64
          #define _ttoi64 _wtoi64
        #endif
      #else
        #ifdef  _ttoi64
          #undef  _ttoi64
          #define _ttoi64 _atoi64
        #endif
      #endif
                

Keywords: kbbug kbfix kbvc600fix KB168433