C4700 未初始化的局部变量"number2"和"number3"
C4700 uninitialized local variable "number2" and "number3"
我的visual studio 2015有这个问题。错误出现在第15行。突然它说我还没有初始化变量,我不知道如何初始化它们
// Average.cpp. : Defines the entry point for the console application.
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
int main()
{
int number1, number2, number3;
double average;
cout << "Enter three integers and I will display the average" << endl;
cin >> number1, number2, number3;
average = (number1 + number2 + number3) / 3.0;
cout << "The average is" << average << endl;
return 0;
}
这一行不符合您的要求:
cin >> number1, number2, number3;
您可能想从cin
中读取3个数字,这是通过以下方式完成的:
cin >> number1 >> number2 >> number3;
在当前的形式中,它被计算为
(cin >> number1), number2, number3;
这个表达式的结果是number3
,它没有在你的程序中初始化。number2
是表达式的一部分,也没有初始化,所以编译器也警告它,尽管值被丢弃。
逗号操作符在c++中分隔表达式并将它们连接成一个更大的表达式,因此语句cin >> number1, number2, number3
将从读取表达式cin
number1, number2, number3
相当于(cin >> number1), number2, number3
,这没有多大意义,当然不是您想要做的。
试试cin >> number1 >> number2 >> number3
。
如上所述,这应该可以工作:
#include <iostream>
using namespace std;
int main()
{
// ...
cin >> number1 >> number2 >> number3; // here is the fix
// ...
cout << "The average is" << average << endl; // same as you did here
return 0;
}