У меня были небольшие трудности с моим личным проектом. См. Полный код ниже:Почему мой класс-конструктор не работает, как ожидалось?
#include <iostream>
#include <string>
using namespace std;
class Player {
public:
Player(string name, int Dex, int Mod, int Lvl, int diceRoll);
int calcInitiative(int Dex, int Mod, int Lvl);
int sortInitiative(int Init);
int diceRoll;
private:
int mDex, mMod, mLvl;
string mName;
};
int main() {
Player::Player(string name, int Dex, int Mod, int Lvl, int diceRoll) {
mName(name), mDex(Dex), mMod(Mod), mLvl(Lvl);
}
Player D("Derek", 2, 0, 6, rollD);
return 0;
}
Проблема заключается в определении конструктора в основном. Ошибка говорит мне, что «имя типа не разрешено», что, по-видимому, означает, что он идентифицирует переменную «имя» как тип, но не строку, несмотря на то, что я включил соответствующие библиотеки.
Может ли кто-нибудь предложить какие-либо советы относительно того, как я могу это исправить?
Ах, кричит! Я хотел бы определить его, кроме того, в онлайновом режиме, поскольку в конце концов он будет довольно сложным, но я забыл, что он не может быть в основном. Спасибо! Исправление по списку инициализации со ссылкой было также очень полезно! –
@ user2395694: Хорошо, рад, что это помогло :) Если это решает вашу проблему, пожалуйста, подумайте о том, чтобы отметить ответ, принятый, когда вам разрешат (или любой другой ответ, который вы можете предпочесть другим пользователям) –