Fehler: expected ';', ',' oder ')' vor '&' token| auf einem einfachen C-Programm finden Sie online
Fand ich dieses Programm online zur Praxis C. Als ich versuchte, das Programm zu kompilieren in den Code-Blöcken, erhalte ich die Fehlermeldung "Fehler: expected ';', ',' oder ')' vor '&' token| " an zwei stellen (in der erwähnten codes). Es wäre wirklich hilfreich, wenn jemand erklären könnte, mir den Grund für den Fehler.
#include<stdio.h>
int f1(int x,int y)
{
x=x+2;
y=y+3;
return x+y;}
int f2(int &x,int y) //error: expected ';', ',' or ')' before '&' token|
{
x=x+2;
y=y+3;
return x+y;
}
int f3(int *x,int *y)
{
*x = *x+2;
*y = *y+3;
return *x+*y;
}
int f4(int x,int &y,int *z)//error: expected ';', ',' or ')' before '&' token|
{ x=x+y;
y=*z+3;
z=&x;
*z=y*2;
return *z;
}
main()
{
int k=3,m=5,r=0;
printf("1) %d %d %d\n",k,m,r);
r=f1(k,m);
printf("2) %d %d %d\n",k,m,r);
r=f2(k,m);
printf("1) %d %d %d\n",k,m,r);
r=f3(&k,&m);
printf("1) %d %d %d\n",k,m,r);
r=f4(k,m,&r);
printf("1) %d %d %d\n",k,m,r);
return 0;
}
- C nicht C++ - Referenzen.
- Mein problem gelöst. Vielen Dank für alle Eure Antworten. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht ein C-Programm. Dies ist ein C++ - Programm. Es nicht zu viele C++ - Funktionen, verwendet aber genug, um diesen code nicht kompilierbar als C-code.
Entweder kompilieren Sie C++ oder konvertieren Sie es in C. letzteres würde erfordern, umschreiben, die durchaus ein paar Zeilen code.
Zeile 11 Sollte
int f2(int *x,int y)
Den code, den Sie geschrieben ist C++ - code. Nicht-C-code. Sie können nicht führen Sie C++ - code auf C-compiler.
In C sollten Sie nicht verwenden die Referenz In der definition einer Funktion wie bei C++.
Brauchen Sie nicht zu verwenden Zeiger selbst, denn Sie sind nur auf der Durchreise Werte.
Ändern über die Funktion definition
Dieser Linie auch
Ändern über die Funktion definition
und erklären Ihre Funktionen.