2016-10-09 2 views
-1

Ich habe versucht, einen Kopf zu machen, genannt Paitent_info.h wie Sie hier sehen können:Warum kann ich meine Quelldatei nicht mit der Headerdatei verbinden?

#ifdef GUARD_Paitent_info 
#define GUARD_Paitent_info 

#include <iostream> 
#include <string> 
#include <vector> 

struct Paitent_info { 
    std::string name; 
    std::vector<double> tem; 
}; 

bool compare(const Paitent_info&, const Paitent_info&); 
std::istream& read(std::istream&, Paitent_info&); 
std::istream& read_tem(std::istream&, std::vector<double>&); 
#endif 

und Paitent_info.cpp hier:

#include "Paitent_info.h" 

using std::istream; using std::vector; 

bool compare(const Paitent_info& x, const Paitent_info& y) 
{ 
    return x.name < y.name; 
} 


istream& read(istream& ip, Paitent_info& p) 
{ // do something 
    return ip; 
} 

istream& read_tem(istream& in, vector<double>& tem) 
{ // do something 
    return in; 
} 

ich viele Fehlermeldungen aus diesem Code bekam:

  • std :: isotream und std :: Vektor wurde nicht deklariert
  • Paitent_info nennt keinen Typ.
  • Anfrage für Member 'Name' in 'x' und 'y', die von Nicht-Klasse Typ 'const int' ist.
  • iStream nennt keinen Typ.
  • Ich weiß nicht, warum ich alle diese Fehlermeldungen habe, bitte helfen Sie mir.

    +5

    BTW es ist Patient nicht paitent – user463035818

    +4

    Sie einschließen Wache sollte ifndef nicht ifdef sein. – user1937198

    +1

    Verwenden Sie "#pragma einmal" in Ihrer Kopfzeile statt "# ifndef" guard – Nikita

    Antwort

    6

    bekommen Sie einen Tippfehler in der Wache Kopf:

    #ifdef GUARD_Paitent_info 
    

    #ifndef GUARD_Paitent_info 
    

    Zur Zeit die Wächter bewirkt, dass der Header nur dann, wenn es bereits aufgenommen wurde, einbezogen werden soll. Denken Sie eine Sekunde darüber nach;).

    +0

    Opps habe ich nicht bemerkt, danke :) –

    Verwandte Themen