Когда я пытаюсь поместить класс в заголовок, я получаю сообщение об ошибке члена, не найденного при компиляции со строками в классе - PullRequest
1 голос
/ 28 декабря 2011

Вот код:

Classes.h

#ifndef CLASSES_H
#define CLASSES_H
// Team Class
class Team {
public: 
    string title, initials;
};
// End

// Player Class
class Player {
public:
    int skill, cost;
    string name;
};
// End

// Coach Class
class Coach {
    int cash, cost, players;
public:
    string name;
    void set_values (int, int);
    int total (void) {return (cash - cost);};
};
// End
#endif

Classes.cpp

#include "Classes.h"
// Set Total Cash for Coach
void Coach::set_values (int a, int b) {
    cash = a;
    cost = b;
}
// End

main.cpp

#include <iostream>
#include <string>
#include "classes.h"

Когда я компилирую, он не находит инициалы или имена членов, то есть строки. Почему и как я могу это исправить.

* 1015 то есть *

main.cpp:22: error: ‘class Player’ has no member named ‘name’
main.cpp:28: error: ‘class Coach’ has no member named ‘name’
main.cpp:29: error: ‘class Coach’ has no member named ‘name’
main.cpp:30: error: ‘class Player’ has no member named ‘name’
main.cpp:35: error: ‘class Team’ has no member named ‘title’
main.cpp:36: error: ‘class Team’ has no member named ‘title’
main.cpp:38: error: ‘class Team’ has no member named ‘initials’
main.cpp:39: error: ‘class Team’ has no member named ‘initials’
main.cpp:40: error: ‘class Player’ has no member named ‘name’
main.cpp:40: error: ‘class Team’ has no member named ‘title’
main.cpp:41: error: ‘class Team’ has no member named ‘initials’
main.cpp:41: error: ‘class Player’ has no member named ‘name’
main.cpp:41: error: ‘class Coach’ has no member named ‘name’

Или В файле из main.cpp: 9:

classes.h:7: error: ‘string’ does not name a type
classes.h:15: error: ‘string’ does not name a type
classes.h:23: error: ‘string’ does not name a type

Пожалуйста, помогите! Я новичок, так что, возможно, это то, что я не могу сделать или просто исправить.

Ответы [ 2 ]

3 голосов
/ 28 декабря 2011

Вам нужно #include <string> в файле classes.h и изменить объявления переменных string на std::string.Например:

class Team {
public: 
std::string title, initials;
};
1 голос
/ 28 декабря 2011

Вам необходимо использовать std::string полную квалификацию, а также #include <string> в заголовочном файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...