使用未声明的标识符 - cs50 问题集
use of undeclared identifier - cs50 problem set
我是一般编程的新手,尤其是 c。
我有点困惑为什么在尝试 运行 以下代码时会出现此错误。应该注意的是,在此之前我有一些代码,但这是给我一些问题的部分。
这部分似乎给我带来了一些问题:
#include <cs50.h>
#include <stdio.h>
int a;
do
{
int a = get_int("How many cents: ");
}
while(a < 0)
return a;
确切的错误信息是:
Pset1/cash/ $ make cash
cash.c:44:13: error: declaration shadows a local variable [-Werror,-Wshadow]
int a = get_int("How many cents: ");
^
cash.c:40:9: note: previous declaration is here
int a;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 errors generated.
make: *** [<builtin>: cash] Error 1
如错误消息所述,您在循环内定义了一个名为 a
的变量,该变量隐藏了更高范围内同名变量的定义。
不要创建新变量。只需分配给您拥有的那个即可。
a = get_int("How many cents: ");
我是一般编程的新手,尤其是 c。 我有点困惑为什么在尝试 运行 以下代码时会出现此错误。应该注意的是,在此之前我有一些代码,但这是给我一些问题的部分。 这部分似乎给我带来了一些问题:
#include <cs50.h>
#include <stdio.h>
int a;
do
{
int a = get_int("How many cents: ");
}
while(a < 0)
return a;
确切的错误信息是:
Pset1/cash/ $ make cash
cash.c:44:13: error: declaration shadows a local variable [-Werror,-Wshadow]
int a = get_int("How many cents: ");
^
cash.c:40:9: note: previous declaration is here
int a;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
2 errors generated.
make: *** [<builtin>: cash] Error 1
如错误消息所述,您在循环内定义了一个名为 a
的变量,该变量隐藏了更高范围内同名变量的定义。
不要创建新变量。只需分配给您拥有的那个即可。
a = get_int("How many cents: ");