解决VC6.0中ostringstream类输出__int64类型导致的错误error C2593: 'operator

#include


int main()
{
    std
::ostringstream ss;
    ss
<< 123;
    __int64 i
;
   
// error C2593: 'operator <<' is ambiguous
    ss
<< i;
}
以上代码提示错误error C2593: 'operator <<' is ambiguous
这是由于ostringstream类没有定义__int64 类型的整型的缘故,自定义以下重载函数可以解决该问题:
#include 
std::ostream& operator<<(std::ostream& stream, __int64 data)
{
   
char buf[255] = {0};
    _i64tot
( data, buf, 10 );

    stream
<< buf;
   
return stream;
}

 

 

 

你可能感兴趣的:(C++学习)