Fehler: expected initializer before »int«

Kesk

Ensign
Registriert
Okt. 2011
Beiträge
182
Hab den Code hier

Code:
#include <iostream>
#include "bruch_fun.h"
using namespace std;
bruch kuerzen (bruch x)

int main ()
{ 
int a;
int b;
int r;

bruch bplus(x==1);
			
bruch bminus(x==2);
			 
bruch bmal(x==3);
		   
bruch bdurch(x==4);
			 
void bkuerzen;
int r;
int z=Erg_n.a;
int q=Erg_n.b;

do {
	r = z%q;
	z = q;
	q = r;
} while (q !=0);
cout << Erg_n.a/z << " / " << Erg_n.b/z << endl;

return(0);
}


in der Header

Code:
typedef struct bruch{
bruch bplus(bruch x, bruch y);
bruch bminus(bruch x, bruch y);
bruch bmal(bruch x, bruch y);
bruch bdurch(bruch x, bruch y);
void bkuerzen (bruch &x);
} bruch;
bruch kuerzen (bruch x);


Ich find einfach den Fehler ned
 
Fehlt da ein Semikolon in 4 oder was versuchst du damit auszudrücken?
 
Eigentlich steht auch immer die Zeile mit dabei. Aber mal so kurz drübergesehen:
Code:
void bkuerzen;
ergibt null Sinn. Auch Erg_n kann ich nirgendwo vorfinden.

Aber warum es wohl nicht geht: In Zeile 4 fehlt das Semikolon.
 
wenn ich in Zeile 4 in Semikolon setze ist es
bruch kuerzen (bruch x);
und dann ist es Funktionsprototyp für die Header, aber in der Main solls ja die Funktionsdefinition sein
 
Ich finde da ergibt einiges keinen Sinn.... neben dem was schon gesagt wurde...

-> bruch bplus(x==1);

soll das ein Methodenaufruf sein mit "x==1" als Übergabeparameter? - das macht so keinen Sinn...

Edit:
Und bist du dir eigentlich sicher das du an deine Methoden "bruch"-Objekte übergeben möchtest und keine Integer?

Edit2:
Ich glaube du hast absolut keine Ahnung was du da tust....schau dir das mal an
-> http://de.wikibooks.org/wiki/C++-Programmierung:_Klassen
-> http://de.wikibooks.org/wiki/C++-Programmierung/_Eigene_Datentypen_definieren/_Methoden
 
Zuletzt bearbeitet:
Eine Definition benötigt aber mindestens geschweifte Klammern und falls nicht void der Rückgabetyp ist, ein return.
 
Zurück
Oben