我试图声明一个带有字符串和三个int的四参数构造函数。根据我的分配指南,我不能在代码中的任何地方使用 using namespace std 。
实现文件中的构造函数是:
Player (std::string w, int x, int y, int z)
{
}
我有类规范的头文件,类函数实现文件和主方法文件。 我在主要方法文件和实现文件中都使用了#include进行了试错,但是IDE一直在说“'”'预期或分号。但是分号不起作用,因为这是构造函数的定义。我很难过。
答案 0 :(得分:2)
#include "player.h"
int main() {
Player x("player_x", 1, 2, 3);
}
#ifndef YOUR_PROJECT_PLAYER_H
#define YOUR_PROJECT_PLAYER_H
#include <string>
class Player {
public:
Player(std::string w, int x, int y, int z);
};
#endif
#include "player.h"
Player::Player(std::string w, int x, int y, int z) {}
答案 1 :(得分:1)
不使用&#34; using namespace std;
&#34; :好,使用&#34; using std::string;
&#34;代替。仅在源文件中,而不是头文件,我强烈推荐。
如果定义在类声明之外,则必须在构造函数(和成员函数)名称之前编写类名:
Player::Player( std::string w, ...)
{
}
void Player::func( ...)
{
}