Vector mit Struct zurückgeben

Programmieren in C++
Antworten
Autor
Nachricht
Benutzeravatar
darthcookie
6 Bit
Beiträge: 103
Registriert: So Aug 02, 2009 16:48

Vector mit Struct zurückgeben

#1 Beitrag von darthcookie » Mo Jul 05, 2010 16:23

Hallo Leute, ich habe mal wieder ein ziemlich seltsames Problem: Ich habe mir eine Struct definiert und möchte in einer Methode in einer Klasse einen Vector mit solchen Structs zurückgeben. Aber ich erhalte in Eclipse immer 3 Fehler:
1. expected `;' before '}' token (am Ende der Klassendefinition) (Komisch das das da auftritt. Wenn ich den Rückgabetyp der Funktion in int oder sowas ändere kommt der Fehler nicht)
2. expected `;' before '<' token (in der Methodendefinition)
3. ISO C++ forbids declaration of `vector' with no type (auch in der Methodendefinition)

Die Methodendefinition sieht so aus:

Code: Alles auswählen

vector<move> chkPossMov(bool white)
PS: Sonderpunkte für den, der errät was ich programmiere ;)
"Es gibt kein Problem das sich nicht loesen laesst, indem man die
Benutzerprozesse killt, alle ihre Files loescht, ihre Accounts sperrt
und ihre tatsaechlichen Einnahmen dem Finanzamt zukommen laesst."
Bastard Operator from Hell

Benutzeravatar
ElectronicPirate
9 Bit
Beiträge: 597
Registriert: Fr Jun 12, 2009 10:52
Wohnort: Aachen

Re: Vector mit Struct zurückgeben

#2 Beitrag von ElectronicPirate » Mo Jul 05, 2010 16:37

poste mal den Code...
THE END IS NIGH
Bild

Bild

Benutzeravatar
darthcookie
6 Bit
Beiträge: 103
Registriert: So Aug 02, 2009 16:48

Re: Vector mit Struct zurückgeben

#3 Beitrag von darthcookie » Mo Jul 05, 2010 16:42

OK Vergesst das mit dem Raten ;)

Code: Alles auswählen

#include <iostream>

using namespace std;

struct move
{
		int from;
		int to;
		int chessman;

		/*0 = nix
		 *? = schlägt
		 *? = schach
		 *>9000 = matt ;)
		 */
		int rating;
};

class Board
{

	public:
		Board()
		{

		}

	private:
		/*  A B C D E F G H
		 *  _______________
		 *8|              63
		 *7|
		 *6|
		 *5|
		 *4|
		 *3|
		 *2|8
		 *1|0 1 2 3 4 5 6 7
		 *
		 * 0 = leer
		 * WEIß
		 * 1 = Bauer
		 * 2 = Turm
		 * 3 = Springer
		 * 4 = Läufer
		 * 5 = Dame
		 * 6 = König
		 * SCHWARZ
		 * 7 = Bauer
		 * 8 = Turm
		 * 9 = Springer
		 * 10 = Läufer
		 * 11 = Dame
		 * 12 = König*/
		int map[64];

		vector<move> chkPossMov(bool white)
		{
			vector<move> mvs;

			if (white)
			{

				for (int i = 0; i < 64; i++)
				{
					switch (map[i])
					{
					case 1:
						if (map[i + 8] == 0)
						{
							mv.chessman = map[i];
							mv.from = i;
							mv.to = i + 8;
							mv.rating = 0;
                                                        //In vector einfügen

						}
						if (map[i + 7] > 6)
						{
							mv.chessman = map[i];
							mv.from = i;
							mv.to = i + 7;
							mv.rating = 0;
                                                        //In vector einfügen
						}
						if (map[i + 9] > 6)
						{
							mv.chessman = map[i];
							mv.from = i;
							mv.to = i + 9;
							mv.rating = 0;
                                                        //In vector einfügen
						}
						break;
					case 2:

						break;
					case 3:

						break;
					case 4:

						break;
					case 5:

						break;
					case 6:

						break;
					default:
						break;
					}
				}
			}
			else
			{
				for (int i = 0; i < 64; i++)
				{
					switch (map[i])
					{
					case 7:

						break;
					case 8:

						break;
					case 9:

						break;
					case 10:

						break;
					case 11:

						break;
					case 12:

						break;
					default:
						break;
					}
				}
			}
			return mvs;			
		}

};
Ist bisher nur ein Test, deswegen die vielen leeren cases, die werden noch befüllt.
"Es gibt kein Problem das sich nicht loesen laesst, indem man die
Benutzerprozesse killt, alle ihre Files loescht, ihre Accounts sperrt
und ihre tatsaechlichen Einnahmen dem Finanzamt zukommen laesst."
Bastard Operator from Hell

Benutzeravatar
foxblock
7 Bit
Beiträge: 198
Registriert: Di Nov 24, 2009 22:43
Wohnort: Aachen

Re: Vector mit Struct zurückgeben

#4 Beitrag von foxblock » Di Jul 06, 2010 09:30

Ganz einfacher und blöder (da durch den build log nicht auffindbarer) Fehler.

Code: Alles auswählen

#include <vector>
fehlt

Dann compiliert der code, bis auf einen Fehler wg. der unbekannten Variable "mv" (soll wohl ein element des vectors sein), sauber.

foxblock out

Benutzeravatar
darthcookie
6 Bit
Beiträge: 103
Registriert: So Aug 02, 2009 16:48

Re: Vector mit Struct zurückgeben

#5 Beitrag von darthcookie » Di Jul 06, 2010 10:14

Danke Foxblock!
"Es gibt kein Problem das sich nicht loesen laesst, indem man die
Benutzerprozesse killt, alle ihre Files loescht, ihre Accounts sperrt
und ihre tatsaechlichen Einnahmen dem Finanzamt zukommen laesst."
Bastard Operator from Hell

Antworten

Zurück zu „C++“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste