简单的int到字符串转换... Int到const char *无效

时间:2012-10-14 20:37:34

标签: c++ string int sstream

设置:在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::,现在一切都很好 - 正如大家所想的那样。

1 个答案:

答案 0 :(得分:1)

提供虚假信息;标头函数正确定义,因为该函数返回int而不是std::string。另外,名称空间:在其实现中的函数myClass::前面没有int2str