[c++] Undefinierte Variable "select" in Visual Studio 2003

DataNaut

Cadet 2nd Year
Registriert
Nov. 2005
Beiträge
31
Hallo Coder,
wiedereinmal bin ich über Mysterium beim Programmieren gestolpert. In einer meiner Klassen habe ich folgende Methode, Name der Klasse und Methode sind verändert, die Variable heißt so wie sie heißt:
Code:
void MeineKlasse::SelectMethode(const bool& selectable)
{
	// Call the base class method
	BasisKlasse::SelectMethode(select);
	
}

Seit nunmehr einem halben Jahr läuft das Programm auf verschiedenen Rechnern. Und nur durch Zufall bin ich mal bei der Methode vorbeigekommen. Der Programmaufruf wird mit "selectable" gemacht, die Basisklasse wird mit "select" aufgerufen. Erstmal dürfte das nicht kompilieren. Tut es aber. Nachdem ich die Membervariabeln aller Basis Klassen durchforscht habe, und kein "select" gefunden habe, habe ich die Suchfunktion von Visual Studio bemüht, und nach "select" gesucht.
Mit:
Code:
Find all "select", Match case, Whole word, Subfolders, Find Results 1, Entire Solution, "*.*"
kamen dann als Ergebnis
Code:
Total found: 140    Matching files: 85    Total files searched: 3075
Alle 140 Fundstellen wurden dann sorgsam untersucht. aber nirgendwo wurde eine Variable namens "select" angelegt.

"Goto Definition" im Objektmenü liefert nur eine Auswahl von Funktionen, die so heißen. Keine Definition.
In einem anderen Projekt, dass nicht so umfangreich ist, konnte dieser Effekt nicht nachvollzogen werden.
Da die Kollegen auch ratlos sind, komme ich mir nicht gar so dumm vor, wenn ich hier frage, denn "Select" ist ja auch kein besonders geeignetes Suchwort bei Google.
Wie bekomme ich raus, was das "select" ist?

Gruß und Mercí
DataNaut
 
Welchen Datentyp hat die Methode der Basisklasse für den Parameter?

Kann es das hier sein? : http://bama.ua.edu/cgi-bin/man-cgi?select+3C

Falls es ein bool ist, wird evtl der Funktionszeiger implizit nach bool gecastet. Weiß garnicht, ob das standardkonform wäre.

Sonst wärst du unter Windows mit #include <winsock2.h> dabei und die ws2_32.lib dazu linken.

Für mich sieht das aber eher nach einem Bug aus, dass selectable übergeben werden soll (ohne den Kontext zu kennen). Denn der Cast des Funktionszeigers nach bool wäre immer true, sofern das standardkonform wäre, und somit sinnfrei.
 
Zuletzt bearbeitet:
Hallo 7H3 N4C3R,
#include <winsock2.h> scheint der Täter zu sein, irgendwo wird das inkludiert."Goto Definition" im Objektmenü liefert winsock2 Funktionen. Das das Ganze ein Programmierfehler ist, war uns klar und wurde geändert. Vielen Dank für die Erkenntnis.
 
Ich habe das mal durchgespielt. Folgender Code kompiliert und gibt
Select: 1
aus. Wenn man
#include <winsock2.h>
auskommentiert, kommt der erwartete Compilierfehler

Code:
#include <iostream>
#include <winsock2.h>

using namespace std;

int main()
{
	cout << "Select: " << select<< endl;
	return 0;
}
 
Zurück
Oben