我使用mingw编译项目,项目是很酷的编译器。 这是我的代码的一部分
#include "astnodecodegenerator.hpp"
#include "utility.hpp"
#include "constants.hpp"
#include <string>
#include <cmath>
#include <sstream>
#include <stack>
。 。 。
void AstNodeCodeGenerator::visit(StringConst& str)
{
emit_la("a0", (std::string("str_const") + std::to_string(stringtable().get_idx(str.token.get_val()))).c_str());
}
void AstNodeCodeGenerator::visit(IntConst& int_const)
{
emit_la("a0", (std::string("int_const") + std::to_string(inttable().get_idx(int_const.token.get_val()))).c_str());
}
错误是:
error :'to_string' is not a member of 'std' emit_la<"a0",<std::string(("str_const") + std::to_string(stringtable().get_idx(str.token.get_val()))).c_str());
答案 0 :(得分:1)
MinGW不支持它,因为MinGW运行时需要更改MinGW开发人员的限制。
看看这些:
如果你可以使用Boost,一个很好的选择是boost::lexical_cast(去过那里,做到了)。