vector <int> * v = new vector <int>;
v -> push_back (1);
cout << v[0]<< endl; // error
Run Code Online (Sandbox Code Playgroud)
为什么我不能访问第一个元素?我收到这个错误
错误:'operator<<' 不匹配(操作数类型是 'std::ostream {aka std::basic_ostream}' 和 'std::vector')|
你为什么要分配一个vectorwith new?使用向量的主要目的是避免必须使用 new。
vector<int> v;
v.push_back(1);
cout << v[0] << endl;
Run Code Online (Sandbox Code Playgroud)
如果出于某种奇怪的原因你决定你真的必须使用一个指针,那么你可以这样做
vector<int>* v = new vector<int>;
v->push_back(1);
cout << (*v)[0] << endl;
Run Code Online (Sandbox Code Playgroud)
但实际上,分配一个向量并new没有什么意义。
也许您在尝试 C++ 之前是一名 Java 程序员?如果是这样,那么不要尝试以 Java 风格编写 C++,它们是非常不同的语言。如果你这样做,你会陷入可怕的混乱。
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |