[英]error C2371: 'functionname' redefinition: different basic types
我有個問題。 我使用Visual Studio 2013並獲得以下錯誤:
Error C2371: 'getgrundflaeche' redefinition: different basic types.
我不知道為什么我得到這個錯誤。 當我嘗試調用函數getgrundflaeche()
時,我得到與VS12相同的錯誤。
這是代碼:
#include <stdio.h>
#define PI 3.14159265359
int main(void){
double h = 0, d = 0, r = 0, G = 0, V = 0, M = 0, O = 0;
printf("Geometrie Zylinder:\nBitte geben sie den Durchmesser d ein (cm): ");
scanf_s("%lf", &d);
printf("Bitte geben sie die Höhe h ein (cm): ");
scanf_s("%lf", &h);
r = d / 2;
G = getgrundflaeche(r);
/*V = get_volumen(r, h);
M = get_mantelflaeche(d, h);
O = get_oberflaeche(M, G); */
system("CLS");
printf("Eingaben:\nDurchmesser d: %lf cm\nHöhe h: %lf cm", d, h);
system("PAUSE");
return 0;
}
double getgrundflaeche(double r){
return (r*r);
}
/*
double get_volumen(double r, double h){
return r*r*h*PI;
}
double get_mantelflaeche(double d, double h){
return d*h*PI;
}
double get_oberflaeche(double M, double G){
return M+2*G;
}*/
在調用之前你從未宣布過getgrundflaeche
。 編譯器假定未聲明的函數返回int
。 當然,后面的函數定義是不同的。
通過在main()
之前添加一個聲明來解決這個問題:
double getgrundflaeche(double r);
int main(void){
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.