指针的STL向量将不会编译

问题描述 投票:0回答:1

我想我有C ++ 98 ...我想创建指向现有对象的指针,然后将这些指针存储在向量中。这是我的代码,编译器吠叫:

  vector<long double> *p1;
  p1=&vOPCT;
  vector<long double> *p2;
  p2=&vOPCGas;

  vector<long double *> MyVec;
  MyVec.push_back(p1);   <- error
  MyVec.push_back(p2);   <- error

我做错了什么?

感谢您的帮助。弗雷德E。

pointers vector stl
1个回答
0
投票
vector<long double *> MyVec;
MyVec.push_back(p1);   <- error

您正在尝试将指向向量(vector< long double>*)的指针放入指向长双精度数(vector< long double *>)的指针的向量中。那是行不通的。

这应该起作用:

vector<long double *> MyVec;
long double *p1 = nullptr;
MyVec.push_back(p1);
© www.soinside.com 2019 - 2024. All rights reserved.