我正在尝试学习c。错误:预期表达;使用未声明的标识符
我在主要功能如下代码:
switch (action) {
case 'c':
int max_data = atoi(argv[3]);
int max_rows = atoi(argv[4]);
Database_create(conn, max_data, max_rows);
Database_write(conn);
编译器会引发以下错误:
mydb.c:107:7: error: expected expression
int max_data = atoi(argv[3]);
^
mydb.c:110:29: error: use of undeclared identifier 'max_data'
Database_create(conn, max_data, max_rows);
但是,如果我叫printf函数,你可以在下面看到我不在编译时没有任何错误。
switch (action) {
case 'c':
printf("HELLO");
int max_data = atoi(argv[3]);
int max_rows = atoi(argv[4]);
Database_create(conn, max_data, max_rows);
Database_write(conn);
或者,如果我只是传递参数直奔功能我还没有得到这些错误:
switch (action) {
case 'c':
Database_create(conn, atoi(argv[3]), atoi(argv[4]));
Database_write(conn);
在新手脱落一些轻的任何帮助,为什么发生这种情况会大大不胜感激!
正如一个侧面说明,第一个之后总是不信任错误。大多数情况下,它们是由第一个引起的,并没有多大意义。 “使用未声明的标识符”仅仅是因为编译器在同一行中的早期声明中窒息:) – hobbs 2014-10-09 02:10:57