在函数中使用枚举参数 我正在使用VisualStudio在C++中工作Windows。< /P>
我有一个班级有:在函数中使用枚举参数 我正在使用VisualStudio在C++中工作Windows。< /P>,c++,enumeration,C++,Enumeration,我有一个班级有: enum algorithmStatus { LOADING, DETECTION, TRACKING, LOST }; 在声明中,我想使用setter和getter来更改状态,例如: void MyStatusClass::setAlgorithmStatus(algorithmStatus newStatus) { //_Status = newStatus; //_Status = MyStatusClass::algorithmStatus::LOAD
enum algorithmStatus { LOADING, DETECTION, TRACKING, LOST };
在声明中,我想使用setter和getter来更改状态,例如:
void MyStatusClass::setAlgorithmStatus(algorithmStatus newStatus)
{
//_Status = newStatus;
//_Status = MyStatusClass::algorithmStatus::LOADING;
}
但我无法编译,因为我得到:
错误5错误C2511:“void MyStatusClass::setAlgorithmStatus(MyStatusClass::algorithmStatus)”:在“Nft_Status”c:\MyStatusClass.cpp 197中未找到重载成员函数
我怎样才能正确地做那个二传手
编辑:
在标题中已声明:
void setAlgorithmStatus(MyStatusClass::algorithmStatus newStatus);
以及:
在cpp中,函数声明为我写在上面
已解决
问题是我在构造函数中使用了MyStatusClass::algorithmStatus,您不需要使用MyStatusClass:,如果您不需要它,最好不要使用它。的MSDN文档为您提供了一个很好的列表:
标识符
:在类
未使用指定参数声明函数的任何版本。可能的原因:
始终查找错误代码以获得解决编译错误的帮助。针对的MSDN文档为您提供了一个很好的查找列表:
标识符
:在类
未使用指定参数声明函数的任何版本。可能的原因:
始终查找错误代码以获得解决编译错误的帮助。发布类的定义。类声明中有错误。可能您没有在类中声明
setAlgorithmStatus
。或者您以错误的方式声明了该函数。函数声明应该如下所示-void setAlgorithmStatus(MyStatusClass::algorithmStatus my_变量)代码>函数的签名可能在声明和定义方面有所不同请注意,\u S
是保留给实现的前缀。发布类的定义。类声明中有错误。可能您没有在类中声明setAlgorithmStatus
。或者您以错误的方式声明了该函数。函数声明应该如下所示-void setAlgorithmStatus(MyStatusClass::algorithmStatus my_变量)代码>函数的签名在声明和定义方面可能会有所不同。请注意,\u S
是为实现保留的前缀。我已经检查了此项。Visual studio检测枚举。名称没有问题,顺序正确。@Piperoman:您在类中声明的函数是否正确MyStatusClass
?我认为没有问题,我在标题上这样做:void setAlgorithmStatus(MyStatusClass::algorithmStatus newStatus);像void setAlgorithmStatus(algorithmStatus newStatus)@Piperoman:您需要在头文件中的类内声明函数,并且需要在使用/调用该函数的cpp文件中包含该头文件。该函数将在定义类的cpp文件中定义,为什么要在调用它的cpp文件中再次声明该函数?我已经检查过了。Visual studio检测枚举。名称没有问题,顺序正确。@Piperoman:您在类中声明的函数是否正确MyStatusClass
?我认为没有问题,我在标题上这样做:void setAlgorithmStatus(MyStatusClass::algorithmStatus newStatus);像void setAlgorithmStatus(algorithmStatus newStatus)@Piperoman:您需要在头文件中的类内声明函数,并且需要在使用/调用该函数的cpp文件中包含该头文件。该函数将在定义类的cpp文件中定义,为什么要在调用该函数的cpp文件中再次声明该函数?
void setAlgorithmStatus(algorithmStatus newStatus);