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