具有对象数组的对象

object with array of objects

本文关键字:对象 数组      更新时间:2023-10-16

我正在尝试在另一个对象中创建一个对象数组并决定数组的大小。

为什么当我尝试将"obj2T"分配给"obj2"时出现错误?

粘贴代码链接:https://pastebin.com/kujujP5N

在另一个对象中创建对象数组并确定数组大小的正确语法是什么?

#include <iostream>
using namespace std;
class classe2
{
    public:
        classe2();
    protected:
    private:
};
class classe1
{
    public:
        classe1(int value);
        void setClasse()
        {
        classe2 obj2T[grandezza];
        obj2=obj2T;
        }
    protected:
    private:
        const int grandezza;
        classe2 obj2[];
};
int main()
{
    cout << "Hello World!" << endl;
    return 0;
}

错误:

C:cppProjectsprojectmain.cpp||In member function 'void classe1::setClasse()'
C:cppProjectsprojectmain.cpp|22|error: incompatible types in assignment of 'classe2 [((classe1*)this)->classe1::grandezza]' to 'classe2 [0]'

正确的语法是

#include <vector>
...
class classe1
{
    public:
        classe1(int value) :
            obj2 (value)
        {
        }
    private:
        std::vector<classe2> obj2;
};