【发布时间】:2014-02-23 21:42:46
【问题描述】:
我班上的私人成员:
const char arr1[];
const char arr2[];
我的构造函数:
className(const char a[], const char b[])
:arr1(a), arr2(b)
{
}
来自控制台窗口的错误信息是:
In constructor className::className(const char*, const char*):
error: incompatible types in assignment of const char* to const char [0]
请帮忙,我做错了什么?
顺便说一句,我找到了一个解决方案... 我使用指针作为我的私有成员变量,所以 *arr1 和 *arr2 并且有效。 :)
【问题讨论】:
-
C++ 不允许在没有明确大小的类中使用数组。
-
如果您需要动态大小,请将类制作成模板,然后在构建它时设置大小。或者你可以 malloc 内存,然后在 thje 构造函数中复制数组,而不是使用初始化列表。
标签: c++ string constructor initializer-list