我正在使用 Visual C++ 将我的游戏从 GNU/Linux 移植到 Windows。
这是问题所在:
std::stringstream sstm;
/// *working on stringstream*
const int size = sstm.str().size();
char buffer[size];
std::ofstream outfile("options", std::ofstream::binary);
for(int i = 0; i < size; i++)
buffer[i] = sstm.str().at(i);
outfile.write(buffer, size);
outfile.close();
它说:“表达式必须有一个常量值”在缓冲区的声明中。
我已将其更改为:
std::vector<char>buffer(size);
然后 VC 在 outfile.write() 中说:“无法将参数 1 从 'std::vector<_Ty>' 转换为 'const char *'”。