当我尝试将类放入标头中时,当我使用类中的字符串进行编译时,我收到找不到成员的错误
When I try to put a class into a header I get the error of member not found when I compile with strings in the class
这是代码:
类.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
类.cpp
#include "Classes.h"
// Set Total Cash for Coach
void Coach::set_values (int a, int b) {
cash = a;
cost = b;
}
// End
主.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
请帮忙!我是新手,所以这可能是我无法做到或简单的修复。
您需要
在classes.h
文件中#include <string>
并将string
变量声明更改为std::string
。例如:
class Team {
public:
std::string title, initials;
};
您需要
使用std::string
完整的限定条件,并#include <string>
到您的头文件。
相关文章:
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 访问条件类成员的方法不仅在被调用时才编译
- 为什么下面的模板化类成员函数无法编译?
- 使用带有 ref 参数的成员函数创建线程时出现编译错误
- 为什么传递非静态成员函数会导致编译错误?
- 对带有唯一指针的 std::thread 使用类成员函数时出现编译错误
- 是否可以在编译时初始化对象的 C 样式函数指针,以便它调用对象的成员函数?
- c++ 是否保证标头初始化的静态 const 成员跨编译单元和库共享单个实例?
- 在C++中,成员函数在编译时可用吗
- 当包含成员函数名为errno和cerrno时,g++7编译错误
- C++模板-基于参数编译成员函数
- 有一个可迭代的容器,其中的成员在编译时是已知的
- 使用成员函数创建std::函数不会编译
- 在VS2017中,我们如何在项目成员之间共享编译设置
- 如何在类成员函数中获得类似printf中的编译警告
- 为什么 std::condition_variable 作为类成员会导致 std::thread 编译错误?
- 如何在 C++11 编译时构建具有递增值的整数成员的结构序列
- 为什么 std::bind 绑定到成员函数时无法编译?
- Std::enable_if有条件地编译成员函数
- c++ 11:条件编译:成员