我在这里的第一篇文章,提前谢谢。 我是C ++的新手,正在努力解决这个错误。
"<unnamed-tag>::hasPiece' : an in-class initializer is not allowed for a member of an anonymous union in non-class scope.
当我构建它时会在标题中显示错误
你能帮我吗?非常感谢
df
答案 0 :(得分:0)
在c ++ 98中,您不允许为结构的成员提供默认值,尽管您可以在以后的标准中使用。请改用此方法:
struct TRequest
{
TRequest()
: hasPiece(0)
{
// Nothing to do here
}
int x;
int z;
char ref[20]; // or of other adequate type
DATE date;
bool put;
int hasPiece;
};
请注意,您也应该将所有其他成员初始化,而不仅仅是hasPiece。我还修了一些其他的位,你不需要typedef。
编辑:刚注意到hasPiece是一个int,你为什么把它初始化为假?它应该是一个bool,或初始化为0.我已经改变了我的答案,将其初始化为0.