2012-11-14 2 views
0

C++ Constructor mise en œuvre ErreurC++ Constructor mise en œuvre Erreur

Je 2 classe

Map2D(parent) & Map3D(child) 

C'est donc ce qui se passe ...

class Map3D : public Map2D 
{ 
private: 
int z; 

public: 
Map3D(); 
Map3D(int,int,int); 
int getZ(); 

} 

Et ci-dessous est mon Map2D

class Map2D 
{ 

friend ifstream& operator>>(ifstream&, Map2D&); 

protected: 
int x; 
int y; 

public: 
Map2D(); 
Map2D(int,int); 

}; 

Map2D::Map2D() 
{ 
x=0; 
y=0; 
} 

Map2D::Map2D(int xIn,int yIn) 
{ 
x = xIn; 
y = yIn; 
} 

Le problème n omment je tente de mettre en œuvre Map3D mais eu problème .. qui ce que je cherche est inférieure

Retour sur Map3D.cpp

Map3D::Map3D() 
{ 
x=0; 
y=0; 
z=0; 
} 

Map3D::Map3D(int xIn,int yIn,int zIn) 
{ 
x=xIn; 
y=yIn; 
z=zIn; 
} 

map3d.cpp:18:1: error: extra qualification ‘map3D::’ on member ‘map3D’ [-fpermissive] 
map3d.cpp:18:1: error: ‘map3D::map3D()’ cannot be overloaded 
map3d.cpp:14:1: error: with ‘map3D::map3D()’ 
map3d.cpp:25:1: error: extra qualification ‘map3D::’ on member ‘map3D’ [-fpermissive] 
map3d.cpp:25:1: error: ‘map3D::map3D(int, int, int)’ cannot be overloaded 
map3d.cpp:15:1: error: with ‘map3D::map3D(int, int, int)’ 

Que dois-je changer pour que ma mise en œuvre correcte. Merci pour toute aide.

+0

Malheureusement le code collé ici ne correspond pas au message d'erreur vous nous avez donné ('' map3D' vs Map3D') donc ça va être difficile à diagnostiquer. –

+0

@MarkB C'est incroyable, vous pensez que couper et coller du code serait plus facile. – john

Répondre

4

On dirait un point-virgule manquant à la fin de la déclaration Map3D

class Map3D : public Map2D 
{ 
private: 
int z; 

public: 
Map3D(); 
Map3D(int,int,int); 
int getZ(); 

}; // SEMI-COLON HERE!!!! 
+0

incroyable. merci John. – user1578897

+0

N'oubliez pas d'accepter la réponse de @ john! :) – Talvalin