我在课堂上的构造函数中收到警告,而我以前从未见过。这就是我的构造函数的样子。
Account(std::string n = "NULL", std::string i = "0", Stats s = (0,0,1) )
: name(n), id(i), stat(s) {}
如果我删除这些逗号中的任何一个,都会导致编译错误,不是吗?这个警告是不正确的,还是有什么我可以改变来解决的?
原文由 Shilaly 发布,翻译遵循 CC BY-SA 4.0 许可协议
问题是这样的:
(0,0,1)
。那是表达式
0,0,1
周围的括号,其计算结果为1
。 (逗号运算符是一个中缀运算符,它计算第一个和第二个表达式并返回第二个。在这种情况下,您有两个这样的运算符。)我不知道你想要什么,但我猜不是这样。
编辑:看来你想要
Stats s(0,0,1)
。