C++ C++;:使用另一个类中的参数初始化对象数组
我正在尝试创建一个类,该类将另一个类的对象数组作为其成员。这个“低级”类构造函数需要一个参数(没有默认的c-tor),我不知道如何做到这一点C++ C++;:使用另一个类中的参数初始化对象数组,c++,arrays,constructor,member-initialization,C++,Arrays,Constructor,Member Initialization,我正在尝试创建一个类,该类将另一个类的对象数组作为其成员。这个“低级”类构造函数需要一个参数(没有默认的c-tor),我不知道如何做到这一点 In .hpp class ProcessingElement : public sc_core::sc_module { public: ProcessingElement( sc_core::sc_module_name name ); sc_core::sc_module_name name; }; In .cpp Processi
In .hpp
class ProcessingElement : public sc_core::sc_module
{
public:
ProcessingElement( sc_core::sc_module_name name );
sc_core::sc_module_name name;
};
In .cpp
ProcessingElement::ProcessingElement( sc_core::sc_module_name name ) : name(name) {
//not relevant
}
和“上层”阶级:
这显然会产生错误,但我不确定如何修复它。如果可能的话,我想避免使用向量,所以我在上面找到的一些包含向量的解决方案对我来说并不完美
需要注意的是,sc_core::sc_module_name
是const char*
或类似的类型定义,很遗憾现在无法查找它
谢谢。仅阵列:
QuadPE::QuadPE( sc_core::sc_module_name name ) : pe{"PE0", "PE1", "PE2", "PE3"} {}
虽然您可能不想使用
std::vector
,但我仍然建议您看看。它也是一个聚合,充当c样式数组上的一个薄(零开销)包装器。然而,它具有完整的值语义,是一个功能齐全的标准库容器。因此,您可能会发现它不那么笨重。非常明显,但我仍然想不起来。非常感谢。
QuadPE::QuadPE( sc_core::sc_module_name name ) : pe{"PE0", "PE1", "PE2", "PE3"} {}