将数组传递给构造函数无效
Passing array to a constructor does not work
我有一个类,它的构造函数接受数组。这是:
Sorter::Sorter(int arr[]) : myArray(arr[])
{
}
这是标题:
class Sorter
{
protected :
int* myArray[];
public :
Sorter(int* arr[]);
public :
int Bubble();
};
我这样称呼它:
int ar[] = { 15, 5, 8 };
Sorting srt(&ar);
srt.Bubble();
但它抛出了以下错误:
1>c:users..Sorter.h(12): warning C4200: nonstandard extension used : zero-sized array in struct/union
1> Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
我还将声明从..(int arr[])
更改为..(int* arr[])
,但它仍然不起作用。
我读到内存块无法复制,因此应该引用它或将其传递给它地址,尽管我不知道如何解决它。
问题出在您尚未发布的代码中,可能是这样的:
class Sorter {
int myArray[];
};
你应该这样做:
class Sorter {
int* myArray;
size_t mySize;
};
相关文章:
- 错误: 无效使用非静态数据成员"应用程序::应用程序构造函数"
- 为什么构造函数的虚拟函数调用有时有效,但其他调用却无效
- 模板类和遍历的无效构造函数
- C ++回测问题:如何检查构造函数在假定失败时是否失败(给定输入的无效参数)
- 从模板函数返回默认构造或无效
- static_cast 的 unique_ptr 无效 *,带有构造函数参数
- 瓦尔格林德:构造函数中大小为 1 的无效读取
- 编译器错过了无效的构造函数调用,并调用不存在的(或私有的)默认构造函数
- 汇编错误:调用基本型构造函数时无效的转换
- 移动构造函数是否使shared_from_this无效
- 将const char*传递到构造函数中,使得无效
- 调用不带参数的构造函数有效,使用参数则无效。为什么?
- 将成员枚举变量传递给类构造函数时出现无效的重定义错误
- 如何确保当无效字符串作为参数传递时posix_time_zone构造函数不会崩溃
- 构造函数中大小为 4 的写入无效
- 将数组传递给构造函数无效
- 无效的分配大小(在派生类复制构造函数中)
- 如何处理传递给构造函数的语法有效但逻辑无效的参数
- C++中的构造函数错误无效
- C++错误"无效的构造函数;您的意思可能是"帐户(常量帐户&)