指向向量的 C 指针

新手上路,请多包涵

我必须将元素插入指向向量的指针中。我编写了以下代码,但它给出了分段错误。有人可以指出此代码中的错误是什么,或者我们该如何做。

 int main()
{
     vector<int> *te;
     te->push_back(10);
     cout<<te->size()<<endl;
     return 0;
 }

原文由 Mukesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 525
1 个回答

您的问题是您创建了一个指向向量的指针,而没有创建它指向的向量。这是一个小例子,您创建一个向量,然后使用指针对其执行操作,然后检查原始向量以查看结果:

 #include <iostream>
#include <vector>

using namespace std;

int main(){
    vector<int> myvector;
    vector<int>* te = &myvector;
    int N = 5;
    for(int i = 0; i < N; i++){
        te->push_back(N - i);
    }
    cout<<"te->size() "<<te->size()<<endl;
    for(int i = 0; i < N; i++){
        cout<<"myvector["<<i<<"] = "<<myvector[i]<<endl;
    }
    return 0;
}

原文由 Qwert Yuiop 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题