2017-04-09 4 views
0

다른 개체 내에 개체 배열을 만들고 배열의 크기를 결정하려고합니다.개체 배열이있는 개체

"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:\cppProjects\project\main.cpp||In member function 'void classe1::setClasse()' 
C:\cppProjects\project\main.cpp|22|error: incompatible types in assignment of 'classe2 [((classe1*)this)->classe1::grandezza]' to 'classe2 [0]' 
+0

입니다. 배열이 있습니다. 그리고 그들은 할당 될 수 없습니다. –

+0

@Revolver_Ocelot 죄송합니다, 편집되었습니다. – nostyn

+0

동적으로 생성하거나 대신 벡터를 사용합니다. – stark

답변

1

올바른 구문은 코드에서 어떤 벡터가 없습니다

#include <vector> 

... 

class classe1 
{ 
    public: 
     classe1(int value) : 
      obj2 (value) 
     { 
     } 
    private: 
     std::vector<classe2> obj2; 
}; 
+0

와우, 고마워요! 이것은 정확히 내가 본 것입니다. 나는 무지를 사과합니다.이 라이브러리를 알지 못했습니다 ... 벡터를 찾기 위해 온라인에서만 배열을 찾습니다. – nostyn

+0

@nostyn 좋은 C++ 책을 찾는 것이 좋습니다. –

+0

당신 말이 맞아 ... 나에게 완전하고 업데이트 된 책을 추천 해 줬어? – nostyn

관련 문제