16

私はC++を初めて使用しますが、これの何が問題になっているのかを理解するのを手伝ってください

string c;
stringstream out; //aggregate 'std::stringstream out' has incomplete type and cannot be //defined
out << it->second;
out << end1;//'end1' was not declared in this scope
c = out.str();
4

3 に答える 3

29

しましたか:

#include <sstream>

また、最後から2番目の行は(1番endl)ではなく(nb:小文字のL)である必要がありますend1

以下のコードはコンパイルされ、MacOSXのG++4.2.1で正しく動作します

#include <iostream>
#include <sstream>

int main() {
        std::stringstream out;
        out << "foo" << std::endl;
        std::string c = out.str();
        std::cout << c;
}

原因を省略する#include <sstream>と、システム上で最初のエラーとまったく同じエラーが発生します。

于 2011-04-21T20:49:45.563 に答える
5

小文字Lであり、そうではありません1

out << endl;

@Boは正しいと思います、(申し訳ありませんが)に変更してくださいstd::stringstream out;

于 2011-04-21T20:49:33.747 に答える
3

stringstreamのインクルードが欠落しているようです。その上、タイプミスがあります

out << end1;

読む必要があります

out << endl;

lの代わりに1

于 2011-04-21T20:48:34.080 に答える