创建类数组时出错
Error creating array of class
我有一个如下形式的类:
class T
{
public:
/// Constructor
T(const std::string& baseName);
};
现在在main()方法中,我试图使用
创建类的对象数组: T* s = new T[20](baseFileName);
我没有得到我犯错误的地方…谁能帮帮我。
我得到的错误是:error: ISO C++ forbids initialization in array new [-fpermissive]
首先应该像下面这样创建对象数组:
T* s = new T[20]; //allocating 20 objects
现在你可以通过做一点改变来调用你想要的函数:
class T
{
public:
T(){};//default constructor
/// Constructor
SetValue(const std::string& baseName);
};
使用循环调用函数:
for( int i=0 ; i<20;i++)
s[i].SetValue(baseString);
编译器会告诉你哪里出了问题。你不能这样做:
T* s = new T[20](baseFileName);
更具体地说,当你使用new时,你不能有(baseFileName)
位。只需向T添加一个默认构造函数并自己填充它即可。也许可以在你的T类中添加一个方法来为你返回数组,而不必在每次需要构造数组时都循环。
T * s = new T[20];
for(int i = 0; i < 20; i++) { s[i].setName(baseFileName); }
或者因为你已经知道数组在编译时的样子:
T s [20] {baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName,baseFileName, baseFileName};
相关文章:
- 使用 thread 类在 C++ 中构造线程的动态数组时出错
- 将链表转换为指针数组时出错
- 为 NewObjectA() 函数创建 jvalues 的参数数组时出错 - JNI Invocation API
- 基于数组的列表 - 动态数组创建时出错
- 从斐波那契序列 c++ 中的数组中查找正确的元素时出错
- 分段 使用 MPI_Gather 收集字符数组时出错
- 读取字符串字符时出错 - 对于数组中的字符串值
- 声明数组>> int arr[] 时出错;在C++(虽然在 Java 中有效)?
- 在 c++ 中返回一维数组时出错
- 将 2D 数组传递给 C++ 中的函数时出错
- 在 c++ 上创建动态数组时出错
- 尝试返回指向 Visual Studio 中的动态数组的指针时出错C++
- 将 find_if() 与数组一起使用的代码段中出错
- 在比较特定输入中的程序的数组中出错
- 分段 填充数组时出错
- 数组作为函数参数查找数组长度时出错
- 读取结构数组时出错
- 将数组指针传递到函数时出错
- C++将指针数组传递给函数指针数组时出错
- 在数组中插入数据时出错 - 数组下标'int[int]'的类型无效