2014-01-21 5 views
0

안녕하세요. 도움을 주셔서 미리 감사드립니다. Eclipse (Linux 우분투 12.04)에서 출력물을 볼 수 없다는 문제가 있습니다.C++ : Eclipse 콘솔에 출력이 없습니다.

Addressverwaltung.cpp :

#include <iostream> 
#include "Adresse.h" 
using namespace std; 

int main() { 
    cout << "asdf"; 
    Adresse lAdresse1("Max", "Tester", "Strasse 21", 6423, "lol", "[email protected]"); 
    lAdresse1.printAdresse(); 
    lAdresse1.setName("Testing"); 
    lAdresse1.printAdresse(); 

    return 0; 
} 

Adresse.h :

#ifndef Adresse_h 
#define Adresse_h 
#include <iostream> 
#include <string> 


class Adresse{ 
    public: 
     Adresse(std::string pVorname, std::string pName); 
     Adresse(std::string pVorname, std::string pName, std::string pStrasse, int pPlz, std::string pOrt, std::string pEmail); 
     void printAdresse(); 
     void setVorname(std::string pVorname); 
     void setName(std::string pName); 
     std::string getName(); 
    private: 
     std::string mVorname; 
     std::string mName; 
     std::string mStrasse; 
     int mPlz; 
     std::string mOrt; 
     std::string mEmail; 



}; 


#endif 

Adresse.cpp :

#include "Adresse.h" 

Adresse::Adresse(std::string pVorname, std::string pName){ 
    mVorname = pVorname; 
    mName = pName; 
} 

Adresse::Adresse(std::string pVorname, std::string pName, std::string pStrasse, int pPlz, std::string pOrt, std::string pEmail){ 
    mVorname = pVorname; 
    mName = pName; 
    mStrasse = pStrasse; 
    mPlz = pPlz; 
    mOrt = pOrt; 
    mEmail = pEmail; 
} 

void Adresse::printAdresse(){ 
    std::cout << "ADRESSE:"; 
    std::cout << mVorname + mName; 
    std::cout << "STRASSE: " + mStrasse; 
    std::cout << "PLZ: " + mPlz; 
    std::cout << "EMAIL: " + mEmail; 
} 

void Adresse::setVorname(std::string pVorname){ 
    mVorname = pVorname; 
} 

void Adresse::setName(std::string pName){ 
    mName = pName; 
} 

std::string Adresse::getName(){ 
    return mName; 
} 

내가 클릭 할 때마다

"실행 나는이 작은 C++ 프로그램을 "모든 메시지가 표시됩니다. make : 'all'에 대해 수행 할 작업이 없습니다." 약 4 초 동안 콘솔이 비어 있습니다. 나는 청소를 시도하고 프로젝트를 재건하지만 도움이되지 않습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?

+0

'실행'대신 '디버그'를 선택하면 어떻게됩니까? –

+0

물론 코드를 통과 할 수는 있지만 여전히 출력이 없으며 cout << mPlz (printadresse 메서드에서)에서 갑자기 중지되고 "소스 파일을 찾을 수 없습니다"라고 표시됩니다 ../sysdeps/x86_64/multiarch /strlen-sse2-pminub.S " 해당 위치를 포함하도록 파일을 찾거나 소스 조회 경로를 편집하십시오." 내가 알아 낸 점 : << endl; printAdresse()의 모든 출력물에 적어도 콘솔의 이름과 문자열이 표시됩니다. – RandomDisplayName

답변

0

main() 함수에서 return 전에 cout.flush()를 넣으십시오. 도움이 될 것입니다 :

int main() { 
    cout << "asdf"; 
    Adresse lAdresse1("Max", "Tester", "Strasse 21", 6423, "lol", "[email protected]"); 
    lAdresse1.printAdresse(); 
    lAdresse1.setName("Testing"); 
    lAdresse1.printAdresse(); 

    cout.flush(); // <<<<<<<<<<<<<<<<<<<<<<<< 

    return 0; 
} 
+0

mPlz가 정수이기 때문에 여전히 콘솔과 전자 메일에 mPlz (6423)가 표시되지 않습니다. – RandomDisplayName

+0

@RandomDisplayName _ mPlz는 정수입니다. '예. 문자열 (리터럴)과 정수를 연결할 수 없으며'+'대신'<<'를 사용하십시오! –

+0

도움 주셔서 감사합니다. 모두 작동했습니다.) – RandomDisplayName

관련 문제