在VC6中使用__int64和std :: ostringstream

时间:2010-03-01 02:00:29

标签: visual-c++

我是否知道在Visual C ++ 6中传递此代码的解决方法是什么?

#include <sstream>

int main()
{
    std::ostringstream ss;
    ss << 123;
    __int64 i;
    // error C2593: 'operator <<' is ambiguous
    ss << i;
}

升级编译器不是一种选择,因为我需要使用这个旧的编译器来与遗留系统进行交互。

1 个答案:

答案 0 :(得分:2)

为流插入操作提供自定义覆盖。

示例实现如下

std::ostream& operator<<(std::ostream& stream, __int64 data)
{
    char buf[255] = {0};
    _i64tot( data, buf, 10 );

    stream << buf;
    return stream;
}