我在这一行收到错误:
Attack a("Nothing", 60, Magic);
这是错误:
..\main.cpp:11: error: expected `;' before "a"
..\main.cpp:11: warning: statement has no effect
以下是相关文件: main.cpp中:
#include "Attack.h"
int main() {
Attack a("Nothing", 60, Magic);
return 0;
}
Attack.h:
#ifndef ATTACK_H_
#define ATTACK_H_
#include <string>
#include <stdlib.h>
#include <time.h>
enum ATTACK_ATTRIBUTE {
Attack, Speed, Magic
};
class Attack {
private:
std::string name;
int power; //Out of 10
ATTACK_ATTRIBUTE attribute;
public:
Attack(std::string name, int power, ATTACK_ATTRIBUTE attribute);
virtual ~Attack();
std::string getName();
ATTACK_ATTRIBUTE getAttribute();
int getPower();
};
#endif /* ATTACK_H_ */
答案 0 :(得分:5)
你有一个名为'Attack'的类和一个枚举器。尝试将其中一个名称更改为其他名称。
答案 1 :(得分:2)
枚举值Attack与攻击类位于同一名称空间中,并且它们是冲突的。
答案 2 :(得分:-1)
您已在头文件中定义了Attack类,但我没有看到它的实现。你不需要实现类方法吗?