所以我尝试制作一个向量,其中元素是结构指针和整数对,我开始认为这可能是不可能的..
假设我有以下结构:
struct node{
string str;
int size;
node *child[3];
node(string str1):str(str1){ size = 0;}
};
和一个向量:
vector< pair<node*,int> > nodvector;
然后我尝试创建一个新节点并将其放入向量中,显然它不起作用:
int main(){
node* nod1 = new node("HELLO");
node* nod2 = new node("WORLD");
nodevector.push_back(pair<nod1,3>);
delete nod1;
delete nod2;
}
编译器对我咆哮说:nod1 不能出现在常量表达式中错误:模板参数 1 无效错误:模板结构 std::pair 的模板参数列表中参数 2 的类型/值不匹配
这只是不可能的事情吗?有什么可以替代的解决方案?您的意见将不胜感激!