2011-12-28 3 views
1

Вот код:Когда я пытаюсь поставить класс в заголовок я получаю ошибку члена не найден, когда я компилирую со строками в классе

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 

Классы. каст

#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" 

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

т.е.
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 

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

ответ

1

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

3

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

class Team { 
public: 
std::string title, initials; 
}; 
+0

Спасибо за помощь. – user1119577

+0

Решил ли это? – hmjd

Смежные вопросы