2

设置:在 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>]' [-fpermissive] @ basic_string.tcc 第 214 行的参数 1 (/usr/include/c++/4.6/bits/basic_string.tcc)

EDIT2:: 愚蠢的错误,其中之一包括,说到命名空间。从不指定在哪里int2str;在它前面使用myClass::过,现在一切都很好 - 正如每个人都认为的那样。

4

1 回答 1

1

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

于 2012-10-14T22:29:24.903 回答