Use of 'count' is ambiguous
-
Hallo zäme,
ich habe eine globale Variable vom Typ Integer definiert. Wenn ich darauf zugreifen möchte, erhalte ich die Fehlermeldung:
Use of 'count' is ambiguousNachfolgend der davon betroffene Code:
#include <stdlib.h>
#include <iostream>
#include <cstring> // strlen
#include <string>
using namespace std;struct element
{
int value;
element *next; // address of next number in the stack
};
element *anchor; // first element of the list
element *first;
int count; // amount of numbers stored in the listvoid init() {
count=0;
anchor = 0;
}Die Methode init() wird aus der main Methode aufgerufen.
Habt Ihr eine Idee?
Gruss & danke.
-
proxteam schrieb:
Hallo zäme
Schweizer?

proxteam schrieb:
ich habe eine globale Variable vom Typ Integer definiert. Wenn ich darauf zugreifen möchte, erhalte ich die Fehlermeldung:
Use of 'count' is ambiguousDa gibts wahrscheinlich ein Problem mit der Funktion
std::count()in der Standardbibliothek. Eventuell wird der Header<algorithm>irgendwo versteckt eingebunden (möglicherweise in<string>). Dadurch, dass duusing namespace std;verwendest, fällt das in den globalen Namensraum - wie deine Variable. Somit hast du mehrdeutige Bezeichner.Hier siehst du einen Grund, wieso man mit
using namespacesparsam umgehen sollte. Lasse diese Zeile weg und schreibe vor Standardtypenstd::, also beispielsweisestd::coutundstd::string.Im Weiteren ist die Headerdatei
<stdlib.h>nicht ganz korrekt, besser wäre<cstdlib>(C++-Standardheader haben nie eine Dateiendung). Aber wenn du deren Funktionalität nicht benötigst, kannst du die Datei auch weglassen. Es wäre auch gut, wenn du in Zukunft [cpp]-Tags verwenden könntest (erste weisse Schaltfläche), damit wird der Code schön bunt.
-
Noch einen kleinen Tipp fürs Forum:
Wir haben hier cpp-Tags: (gleich unter dem Smileys)
#include <stdlib.h> #include <iostream> #include <cstring> // strlen #include <string> using namespace std; struct element { int value; element *next; // address of next number in the stack element *anchor; // first element of the list element *first; int count; // amount of numbers stored in the list void init() { count=0; anchor = 0; } };
-
Vielen Dank!
Es funktioniert bestens und danke für den Tipp des Syntaxhighlightings.