设置:在Qt Creator上,我调用此函数。我已经导入了所有sstream,string等,所有这些都在同一个类中,并在头文件中定义良好:
std::string int2str(int x) {
std::stringstream ss;
ss << x;
return ss.str();
}
并在for循环中:
for (int i = 0; i < 10; i++) {
std::string s = int2str(i); // error lies on this line
// a line of Qt code
}
我收到错误"Invalid conversion from int to const char* [-fpermissive]"
。这有点奇怪,因为这个功能应该是什么呢?
编辑:不知道如何使用Qt Creator获取更多详细信息...对不起大家。
错误:
初始化'
std::basic_string<_CharT, _Traits,_Alloc>::basic_string(const_charT*, const_Alloc&) [with _CharT = char, _Traits = std::char_traits<char>, _Alloc = std::allocator<char>]
'的参数1 [-fpermissive] @ basic_string.tcc第214行(/ usr / include / c ++ / 4.6 / bits / basic_string.tcc)
EDIT2 ::
愚蠢的错误,其中之一包括说到名称空间。从不指定int2str
的位置;在它面前使用了myClass::
,现在一切都很好 - 正如大家所想的那样。
答案 0 :(得分:1)
提供虚假信息;标头函数未正确定义,因为该函数返回int
而不是std::string
。另外,名称空间:在其实现中的函数myClass::
前面没有int2str
。