Я работаю над проектом колледжа, где мне нужно реализовать простую игру Scrabble.C++ Beginner - Проблема с использованием классов внутри классов
У меня есть player
класса (содержащего результат и руку игрока, в виде std::string
, и score
класса (содержащего имя и числовой (int
) балла).
Один из Player
-х член-функция является Score getScore()
, который возвращает объект Score для этого игрока, однако, я получаю следующее сообщение об ошибке на этапе компиляции:.
player.h(27) : error C2146: syntax error : missing ';' before identifier 'getScore'
player.h(27) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
player.h(27) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
player.h(27) : warning C4183: 'getScore': missing return type; assumed to be a member function returning 'int'
player.h(35) : error C2146: syntax error : missing ';' before identifier '_score'
player.h(35) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
player.h(35) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Вот строки 27 и 35, соответственно:
Score getScore(); //defined as public
(...)
Score _score; //defined as private
Я понимаю, что у компилятора возникают проблемы с распознаванием Score
в качестве допустимого типа ... Но почему? Я правильно включен Score.h
в начале player.h
:
#include "Score.h"
#include "Deck.h"
#include <string>
У меня есть конструктор по умолчанию для Score
, определенный в Score.h
:
Score(); //score.h
//score.cpp
Score::Score()
{
_name = "";
_points = 0;
}
Любой вход будет оценен по достоинству!
Спасибо за ваше время,
Francisco
EDIT:
В соответствии с просьбой, score.h и player.h: http://pastebin.com/3JzXP36i http://pastebin.com/y7sGVZ4A
Ваша первая ошибка, вероятно, встречается в строке 26. Обратите внимание, что сообщение об ошибке указывает «перед идентификатором». Возможно, вы захотите добавить немного больше кода. Кроме того, конструкторы должны быть объявлены внутри определения класса. – WhirlWind
Я так не думаю ... Эта ошибка возникает, потому что я пытаюсь определить Score как возвращаемый тип. Я правильно определил конструкторы. Любые предложения о том, какой код я должен включить? –
Вам нужно вставить больше кода. Всего 'score.h' и первые строки' player.h' – pajton