编译类 T 失败,Visual C++ 和 GCC 产生 iostreams 模板错误。这是代码:
#include <sstream>
class T
{
static T copy;
std::ostringstream log;
T() {}
T(const T& t) {log = t.log;}
~T() {copy = *this;}
};
T T::copy;
将日志数据成员类型更改为字符串使其编译和运行正常。这是合法的行为吗?