【发布时间】:2013-12-16 18:52:17
【问题描述】:
更新:
我看到我在这里造成了很多混乱,对不起那些家伙.. 感谢 Roman 提供向量的想法 ^^
澄清我的问题:我想通过将整数作为参数传递(我不想为 dem 数组创建全局或局部变量)并复制它们来将结构数组直接放入创建的类(在 main() 中)进入班级成员
问题是我在初始化类时失败了,我的尝试:
struct _Note
{
int nFrequenz;
int nTakt;
};
class _Chart
{
public:
_Chart( std::vector<_Note> vNotes )
{
for( int i = 0; i < vNotes.size(); i++ )
this->_chart.push_back( vNotes[i] );
}
private:
std::vector<_Note> _chart;
};
void main()
{
_Chart x(
{ {1,2}, {2,3} }
);
// not working, wrong initialization
// still confused about the brackets ^^
getchar();
}
【问题讨论】:
-
如果没有为数组指定长度,您希望
sizeof( p )是什么?最好使用std::vector来解决这个问题。 -
我会尝试将参数类型设为
klasseconst,并尝试使用赋值运算符而不是 ()。 -
main()返回int,而不是void。此外,以下划线后跟大写字符开头的名称保留用于实现(编译器和标准库)。 -
请避免编辑您的问题,完全破坏您的原始问题。这将使任何现有的答案无用。更喜欢放置另一个 UPDATE 部分来指定更改,或者什么对你有用!
-
您的“括号”不起作用。只需创建
_Note的实例,将其添加到main()中的向量中,然后将其传递给构造函数。是的,如果您不想复制向量两次,我强烈建议您通过引用获得vNodes。
标签: c++ arrays class initialization structure