2014-10-31 2 views
2

enter image description hereenter image description here이 클래스를 작성하려고하면 클래스로 표시되지 않으며 클래스 카드를 해결할 수 없습니다. 그걸로 내가 뭘 할 수 있니?CLion이 수업을 수업으로 표시하지 않는 이유는 무엇입니까?

#ifndef HAND_HPP 
#define HAND_HPP 

#include <iosfwd> 
#include <vector> 
#include "cards.hpp" 

class Hand { //it doesn't mark it as class 
private: 
    int maxSize; 
    std::vector<Card> hand; //Cannot resolve variable 'Card' 

public: 
*** 
}; 


#endif //HAND_HPP 

이제 이미지를 업로드 할 수 있습니다. 및 cards.hpp (여기서 Card가 선언 된 위치)에는 hand.hpp가 포함됩니다.

+0

아마도 "cards.hpp"파일에 문제가있을 수 있습니다. 해당 포함을 생략하십시오. 'struct Card {};로 교체하십시오. –

+0

나는 그 include를 생략했고 그것을 돌려 주겠다고했다. –

+0

컴파일 할 때 실제 컴파일러 오류가 발생합니까? 이 간단한 것은 아니지만 CLion의 인덱서가 혼란 스러울 때 문제가있었습니다. – sfjac

답변

2

Card 선언이 포함 된 헤더 파일을 #include 또는 Hand 위의 Card 클래스를 선언해야합니다. 컴파일러는 Card 클래스의 완전한 정의 (구현이 아님)를 알아야하므로 모든 순방향 선언은 컴파일러를 달래주지 않습니다.

+0

cards.hpp에는 Card 클래스 선언이 들어 있습니다. –

+0

그러면'card.hpp'는'hand.hpp'를 포함해야합니다. 시도해보십시오! – Ajay

+0

오래 전에 추가되었습니다. 이제 구조체를 사용하여 모든 클래스를 변경했습니다. 그것은 도움이되지 않았습니다. –

관련 문제