2013-04-10 4 views
0

QList 개의 사용자 지정 개체를 만들려고하지만 만들 수 없습니다. 그렇게 할 때 내가받은 컴파일 오류는 다음과 같습니다Q 사용자 지정 개체 목록

error: symbol(s) not found for architecture x86_64 (file not found)

나는 기본 데이터 형의뿐만 아니라, 사용자 정의 객체의 포인터의 QList을 만들 수 있어요. 나는 문서에서 말하는 것처럼 내가하려고하는 일을 수행하는 것을 QList이 지원한다는 것을 안다.

Mac OS X 10.7.5, Qt 5.0.1 및 Qt Creator 2.6.2를 사용하고 있습니다.

코드 :

QList<MyClass> my_list; 
+0

MyClass.h를 포함 시켰습니까? – warunanc

+0

네, 포함 시켰습니다. – nairware

+0

아마도 x86_64 대신 32 비트 x86 라이브러리를 설치했을 것입니까? LD_LIBRARY_PATH에 라이브러리를 배치하지 않았습니까? – Alex

답변

5

문서에 따르면 : QList의 값 타입은 할당 데이터 유형이어야합니다.

정규화하려면 형식에 기본 생성자, 복사본 생성자 및 할당 연산자를 제공해야합니다. 따라서 사용자 정의 클래스는 이와 같이 구현되어야합니다.

class MyClass 
{ 
public: 
    MyClass() {} 
    MyClass(const MyClass &other); 

    MyClass &operator=(const MyClass &other); 

private: 
    //private data members 
}; 
+0

-1 컴파일러가 아니라 링커에서 오류가 발생했습니다. – cmannett85

+0

내 문제를 해결했기 때문에 +1을했습니다. QList docs에서 권장하는대로 번거 로움을 피하기 위해 대신 포인터를 저장합니다. – emolaus