我尝试使用 Windows 8 SDK 编译此代码:
typedef struct {
enum { red, blue, green } eColor;
/* other params here */
} StMyStruct;
void Myfunction(StMyStruct *pst)
{
if (pst->eColor==StMyStruct.red) {
/* some code here */
}
}
但是如果 pst->eColor==StMyStruct.red,我会在线收到此错误:
错误 C2275:“StMyStruct”:非法使用此类型作为表达式
知道如何解决吗?
我使用 Windows SDK 7 成功编译了此代码,错误仅发生在 Windows 8 SDK 上。