【发布时间】:2021-01-22 18:24:36
【问题描述】:
我是 C++ 新手,正在测试 while 循环和 C++ 的绝对速度及其对我的 CPU 的影响,我收到以下错误:
Severity Code Description Project File Line Suppression State Warning C6001 Using uninitialized memory 'i'
Severity Code Description Project File Line Suppression State Error 4700 uninitialized local variable 'i' used
我不知道如何阅读错误消息,甚至还没有遇到 C++ 中的初始化,所以我不知道该怎么做。
#include <iostream>
using namespace std;
int main() {
long long i = 0;
while (i < 10000000000000000) {
long long i = i*i;
cout << i ;
}
cout << i;
return 0;
}
【问题讨论】:
-
您有两个不同且截然不同且完全不相关的变量,均名为
i。为什么不直接打印i * i的结果 而不是用那个名字定义一个新变量? -
long long i = i*i;i的值是多少,当你乘它的时候?事实上,在上面的范围内有一个同名的变量,没有任何改变,因为它被这个声明所掩盖。
标签: c++ compiler-errors increment