C++ Programm lässt sich nicht übersetzen

Warum lässt sich dieses Programm nicht übersetzen.
Fehler: invalid use of undefined type „struct Tank“
Wollte das mal auf die schnelle schreiben…
Wo kann ich den Funktionsprototypen einfügen?

#include
#include

using namespace std;

void umfuellen(struct Tank * a, struct Tank* b, int Menge)
{
//if (((*Ziel).Volumen - //(*Ziel).Fuellstand)>= Menge)
(*b).Volumen += Menge;
}

int main()
{

struct Tank { int Volumen, Fuellstand;};

struct Tank Tank1 ={ 500, 250};
struct Tank Tank2 = { 500, 100};

void umfuellen(struct Tank*, struct Tank*, int);

umfuellen(&Tank1, &Tank2, 200);

//printf (" %d \n", Tank2.Fuellstand);

system(„PAUSE“);
return EXIT_SUCCESS;
}

Sorry wenn ich heute etwas knapp antworte, aber die struct Tank ist innerhalb der main Methode definiert und deswegen nur in diesem Scope bekannt.

Wenn du die Zeile
struct Tank { int Volumen, Fuellstand;};

Ausserhalb von main stehen hast sollte es klappen (wenn nicht noch ein anderer Fehler ist den ich in der Eile übersehen habe)

Hoffe geholfen zu haben

Hallo
bin in sachen C++ leider nicht der Experte, da icj mich bisher nur mit C# beschäftigt habe. Bei C# wird eine Strukur vor der ersten Routine deklariert. Bei Dir währe das meiner meinung nach nach using. Versuch es doch mal Dein struct Tank dorthin zu verschieben und schreibe bei Füllstand noch ein int davor.

Ich hoffe es hilft Dir weiter! Würde mich über eine Rückinfo freuen.

Gruß Thomas