C++ funktion() should have been declared inside namespace?


03.04.2022, 22:58

Die Fehlermeldung steht im Fragetitel


04.04.2022, 09:22

Ich habe versehentlich etwas falsch kopiert, im Header sind die Deklarationen richtig:

struct setColor;
void draw(int x, int y);
void drawSquare(int aa, int ab, int ba, int bb) 

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wenn du die Änderungen vorgenommen hast, die du in deiner Ergänzung beschrieben hast, alles korrekt gespeichert ist, dann sollte der Fehler nicht mehr auftreten.

name123454321 
Fragesteller
 04.04.2022, 09:58

Es kommt aber immer:

In file included from main.cpp:12:
meinHeader.h:21:38: error: 'void meinNamespace::drawPixel(int, int)' should have been declared inside 'meinNamespace'
    void meinNamespace::drawPixel(int x, int y);
                                     ^
meinHeader.h:22:57: error: 'void meinNamespace::drawSquare(int, int, int, int)' should have been declared inside 'meinNamespace'
    void meinHeader::drawSquare(int aa, int ab, int ba, int bb);
1
Destranix  04.04.2022, 10:09
@name123454321

Na beim ersten ist "drawPixel" ja nicht" draw" und beim zweitem ist "meinHeader" nicht "meinNamespace".

Also irgendwo hast du da noch Inkonsistenzen drinnen.

1
    void meinNamespace::draw(int x, int y);
    void meinNamespace::draw(int a, int b);

Zum einen ist das der gleiche Prototyp, zum anderensolltest Du hier bei der decl kaum den namespace-qualifier angeben.

name123454321 
Fragesteller
 04.04.2022, 09:21

Entschuldigung, das habe ich versehentlich falsch kopiert da steht eigentlich

struct setColor;
void draw(int x, int y);
void drawSquare(int aa, int ab, int ba, int bb) 
0