2012-10-14 174 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::