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を使用して詳細を取得する方法がわかりませんでした...申し訳ありません。

エラー:

' ' の引数 1 を初期化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 行目 (/usr/include/c++/4.6/bits/basic_string.tcc)

EDIT2:: 名前空間について言えば、愚かな間違いです。どこにあったかを特定することはありませんint2strmyClass::誰もが思ったように、それはすべて良いです。

4

1 に答える 1

1

虚偽の情報が提供されました。関数がではなく を返したため、ヘッダー関数が正しく定義されていませんでした。さらに、名前空間: 実装の関数の前にありませんでした。intstd::stringmyClass::int2str

于 2012-10-14T22:29:24.903 に答える