这是一个说明我的问题的简化示例。以下为我提供:错误C2065:'状态':未声明的标识符
myclass.h
class MyClass
{
enum class State { IDLE, WALK_RIGHT, WALK_LEFT };
void SetState(State);
}
myclass.cpp
#include "myclass.h"
void SetState(State state)
{
//...
}
知道这里有什么问题吗?提前谢谢!
答案 0 :(得分:5)
这不是你如何定义类定义之外的成员函数。你需要
void MyClass::SetState(State state){
// ^^^^^^^^^
}
编译器会在看到State
之后知道MyClass
中的MyClass::SetState
,并意识到这是一个成员函数定义,所以你不必写{ {1}}在这里。