我有一堂课,比如说
class XXX{
...
};
我想声明该类的全局对象数组,例如
XXX* arr = new XXX[50];
但是,例如,我在 xxx.h 文件(类的头文件)中声明:
extern XXX* arr;
在 xxx.cpp 文件中我做:
XXX* arr = new XXX[50];
但是,Borland C++ 给出了以下错误:
找不到默认构造函数来初始化“XXX”类型的数组元素
当我在 xxx.cpp 文件中声明以下内容时
XXX* arr[50];
我在其他 cpp 文件中收到一些错误消息,例如
未定义符号 arr;
所以,总而言之,我如何声明我的这个数组?
更新:我有一个带有 3 个参数的构造函数,我不希望它们具有默认值。
另外,我在一个宏中“声明”了构造函数,如下所示:
#define PREP(num, c)\
IVT ivt##num(evInt##num,num,c);\
void interrupt evInt##num(...){\
iv[##num]->signalize();\
}
所以,IVT ivt##num(evInt##num,num,c); 是 IVT 类的构造函数,我想声明一个带有 X 元素的全局指针数组。