2017-06-13 81 views
0
#include<stdio.h> 

void remove(); 
void edit(); 

//I need not send return value from function 
int main() 
{ 
    //I need not send any parameters to function 
    remove(); 
} 

void remove() 
{ 
    int flag; 
    printf("enter flag"); 
    scanf("%d",&flag); 
    if (flag==1) 
     edit(); 
} 

錯誤消息:在刪除和調用的參數太少的redecleration中刪除,並調用參數太少的redecleration類型不匹配刪除

類型不匹配刪除

+0

我已經返回值主做有編輯功能體 –

+0

您不能重新定義功能的標準庫。 – Olaf

回答

3

這是因爲功能remove()已在您的代碼包含的stdio.h中定義。因此,要修復您的代碼,只需將您的remove函數重命名爲不同的名稱,如remove_flag()

3

函數remove已在stdio.h中定義。因此,你不能命名你自己的功能remove。你應該把它命名爲其他東西,比如my_remove

此外,當你不希望任何參數傳遞給一個函數,把void中的參數:

#include <stdio.h> 

void my_remove(void); 
void edit(void); 

//I need not send return value from function 
int main(void) 
{ 
    //I need not send any parameters to function 
    my_remove(); 
    return 0; 
} 

void my_remove(void) 
{ 
    int flag; 
    printf("enter flag"); 
    scanf("%d", &flag); 
    if (flag == 1) 
     edit(); 
} 

void edit(void) 
{ 
    printf("edit\n"); 
}