下面是完全適用於打印類型的值的代碼std::string
如何使用std ::複製打印用戶定義類型
std::vector<std::string> v;
v.push_back("this");
v.push_back("is");
v.push_back("a");
v.push_back("test");
std::copy(v.begin(),v.end(),std::ostream_iterator<std::string>(std::cout,","));
但是,當我試圖打印用戶定義類型(一結構),代碼不編譯:
struct Rec
{
int name;
int number;
int result;
};
int main()
{
Rec rec1 = {1,1,1};
Rec rec2 = {2,1,1};
Rec rec3 = {3,1,1};
Rec rec4 = {4,1,1};
Rec rec5 = {4,1,1};
std::vector<Rec> v;
record.push_back(rec1);
record.push_back(rec2);
record.push_back(rec3);
record.push_back(rec4);
record.push_back(rec5);
std::copy(v.begin(),v.end(),std::ostream_iterator<Rec>(std::cout,","));
return 1;
}
我在這裏丟失了什麼?
你重載'運營商<<爲你的結構? –
不,我現在這樣做 – user2256825
是的,需要重載** ostream **運營商。 – ban