Pointers 指针的STL向量将不会编译 我认为我有C++ 98… 我想创建指向现有对象的指针,然后将这些指针存储在向量中。这是我的代码,编译器会吠叫: vector<long double> *p1; p1=&vOPCT; vector
指针的STL向量将不会编译 我认为我有C++ 98… 我想创建指向现有对象的指针,然后将这些指针存储在向量中。这是我的代码,编译器会吠叫:Pointers 指针的STL向量将不会编译 我认为我有C++ 98… 我想创建指向现有对象的指针,然后将这些指针存储在向量中。这是我的代码,编译器会吠叫: vector<long double> *p1; p1=&vOPCT; vector,pointers,vector,stl,Pointers,Vector,Stl,指针的STL向量将不会编译 我认为我有C++ 98… 我想创建指向现有对象的指针,然后将这些指针存储在向量中。这是我的代码,编译器会吠叫: vector<long double> *p1; p1=&vOPCT; vector<long double> *p2; p2=&vOPCGas; vector<long double *> MyVec; MyVec.push_back(p1); <- error M
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
向量*p1;
p1=&vOPCT;
向量*p2;
p2=&vOPCGas;
载体MyVec;
MyVec.推回(p1)<代码>向量MyVec;
MyVec.推回(p1)p1
和p2
属于vector*
类型,而不是long double*
,后者是MyVec
的有效负载类型。我的指针p1指向一个现有对象(vOPCT),它是一个长双精度向量。我可以让那部分工作。我还有很多其他的对象要设置指针。最终的游戏是能够通过指针(以及对象)进行迭代,从而能够调整向量对象的大小。这是我关于如何做的想法。显然,指针向量不会像我尝试的那样工作。那么,我的代码是试图设置指向长双精度的指针向量,还是指向长双精度向量的指针?您的代码是试图设置指向长双精度的指针向量(前者)。如果要设置指向长双精度向量(后者)的指针向量,那么MyVec
应该声明为vector
好的,现在我看到了!谢谢你的帮助!
vector<long double *> MyVec;
MyVec.push_back(p1); <- error
vector<long double *> MyVec;
long double *p1 = nullptr;
MyVec.push_back(p1);