2011-04-21 4 views
0

Possible Duplicate:
How to resolve “LINK : fatal error LNK1561: entry point must be defined”?C de chaîne de substitution d'erreur de liaison

Je classe A et B de ce type et à relier il y a erreur: LNK1561 d'erreur: point d'entrée doit être définie. Qu'est-ce que je fais mal?

#include <string> 
#include <cstdlib> 

class A 
{ 
public: 
A(){} 
~A(){} 
string getName() 
{ return name; } 
void setName(string name) 
{this->name = name;} 
void write() 
{ 
    cout << "Value:" << getName() << endl; 
} 
protected: 
string name; 
}; 

#include <string> 
#include "A.h" 
class B : public A 
{ 
public: 
B() 
{ 
setName("B"); 
} 
~B(){} 
}; 

#include "A.h" 
#include "B.h" 
#include <cstdlib> 

int main() 
{ 
B abc = B(); 
abc.write(); 

system("PAUSE"); 
return 0; 
} 

Je reçois des erreurs suivantes:

erreur C2039: 'nom': n'est pas membre de 'A'
erreur C2061: erreur de syntaxe: identificateur 'chaîne'
erreur C2065: « Cout ': identificateur non déclaré
erreur C2065: 'endl': identificateur non déclaré
erreur C2065: 'nom': identificateur non déclaré
erreur C2146: erreur de syntaxe: manquant ';' avant identificateur 'getName'
erreur C2146: erreur de syntaxe: manquant ';' avant identifiant 'name'
erreur C2660: 'A :: setName': fonction ne prend pas 1 arguments
erreur C4430: manque spécificateur de type int - pris en charge. Remarque: C++ ne prend pas en charge default-int

+0

Bienvenue sur Stack Overflow! Veuillez utiliser la recherche avant de poser de nouvelles questions. De nombreuses questions ont déjà été posées et répondues, et vous pouvez trouver votre solution instantanément. –

+1

Il vous manque cela aussi: 'using namespace std;' – yasouser

Répondre

2

Si tel est le cas, il n'y a pas de int main() défini, donc il n'y a pas de place pour le code à appeler et aucun endroit pour commencer.

+0

je vais modifier mon premier post avec la fonction principale, mais je reçois beaucoup d'erreurs avec elle. – Anajrob

0

Vous ne l'avez pas écrit main() fonction.

0

Vous ne semblent pas avoir une méthode main, qui est le point d'entrée dans votre programme.

2

Vous devez déclarer le point d'entrée de votre application, qui est habituellement:

int main() 
{ 
// code to declare an A and B object 
} 
2

Eh bien, vous ne nous montrez pas la commande, mais si vous liez à faire un fichier exécutable (plutôt que a dll), vous devez définir une fonction main; c'est ce que l'exécution appelle quand elle démarre l'exécutable.