我有一个对象,它将一个向量作为其构造函数参数之一。到我完成时,我将在12个文件中的每个文件中包含大约1000个这些对象(包含在向量中),并且我一直在尝试布局。我能找到的最好方法是在对象定义中创建所有参数。
这是结构的基本版本:
struct MyObject {
MyObject (vector<int>);
vector<int> paraList;
}
所以我的对象定义看起来像这样:
MyObject object1 ( {0, 1, 2} );
MyObject object2 ( {0, 3, 1} );
MyObject object3 ( {5, 7, 5, 6} );
MyObject object4 ( {4} );
这很有效,但我真正想做的是在向量定义中构造对象。像这样:
vector<MyObject> objectList {
( {0, 1, 2} ),
( {0, 3, 1} ),
( {5, 7, 5, 6} ),
( {4} )
};
感觉应该有效,但事实并非如此。我明白了:
error: expected primary-expression before '{' token error: expected ')' before '{' token error: expected '}' before ')' token
如果可能的话,我觉得我的语法是正确的,那么我试图做的不可能吗?
编辑:
很抱歉,除了一些拼写错误之外,我不确定为什么这不是主题。我一直在阅读规则,我仍然不确定,请你评论或PM我,我做错了所以我将来可以避免它?这并不意味着什么是moany,只是想确保我做对了。
答案 0 :(得分:3)
你应该这样做:
std::vector<MyObject> objectList {{{0, 1, 2}} , {{0, 3, 1}} , {{5, 7, 5, 6}} ,{{4}}};