2012-10-14 126 views
2

设置:在Qt Creator上,我称这个函数。我有进口的所有sstream,字符串,等等这一切是在同一个班,并在头文件中被定义好:简单的int到字符串转换... Int到const char *无效

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获取更多详细信息...对不起大家。

错误:

Initializing argument 1 of ' 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 line 214 (/usr/include/c++/4.6/bits/basic_string.tcc)

EDIT2 :: 阿呆失误,其中之一包括,命名空间的讲话。永远不要指定int2str在哪里;正如所有人都认为的那样,它在它的前面使用了myClass::,现在它很好。

+6

错误不在您显示的代码中。 –

+1

您没有显示失败的代码。因为你显示的代码有效。因此,在提问时,请包含失败代码 – perh

+0

您是否可以从'控制台'选项卡发布完整的错误消息,而不是'问题'选项卡,包括文件和行信息? – Lol4t0

回答

1

给出错误信息;标题功能是而不是正确定义,因为函数返回int而不是std::string。另外命名空间:在其实现中,在函数int2str前没有myClass::