我在这里得到了arduino错误。
struct student{
int num,ac,sp,co, sum = 0;
if (ac>=30 && sp>=30 && co>=30)
^
sum = ac+sp+co;
};
我现在正在学习C ++,所以这可能是一个愚蠢的错误..提前谢谢。 确切错误:行:12 col:6 [错误]期望在'if'之前的unqualified-id
答案 0 :(得分:1)
1) Here你可以阅读c ++中的结构是什么。 简而言之,它是其他数据类型的集合。所有逻辑(你的if语句)都应该放在函数中。
2) 看起来你想做这样的事情:
int num = 0, ac = 0, sp = 0, co = 0, sum = 0;
相反,您只是初始化了sum
。其他变量采用默认值。
我不确定我是否强行理解你想要达到的目标,但是试着看看这段代码(它不是Arduino,但你应该明白这一点):
struct Student {
int num, ac, sp, co;
int getSum() {
if (ac >= 30 && sp >= 30 && co >= 30)
return = ac + sp + co;
else return 0;
}
};
int main() {
Student student;
student.ac = 30;
student.cp = 40;
student.co = 50;
cout << student.getSum();
return 0;
}
现在,这是问题所在。
在致电student.getSum()
之前,您始终必须初始化ac
,sp
和co
(正如我在main()
中所做的那样),否则您可能会获得垃圾结果。为避免这种情况,请为每个变量赋予默认值(构造函数是一个很好的位置)。