我正在嘗試學習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