2014-01-21 67 views
0

你好,並提前幫助, 我有問題,我沒有看到我的Eclipse控制檯上的任何輸出(在Linux的Ubuntu的12.04)。 我這個小C++程序: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; 
} 

每當我點擊「運行「我看到消息」讓所有 使:無所作爲「。」約4秒鐘,之後控制檯是空的。我嘗試清理和重建項目,但這並沒有幫助。 有誰知道如何解決這個問題?

+0

如果您選擇「調試」而不是「運行」會發生什麼? –

+0

你當然可以通過代碼,但是仍然沒有輸出,並且在cout << mPlz(在printadresse方法中)它突然停止並且說「無法找到源文件」../sysdeps/x86_64/multiarch /strlen-sse2-pminub.S「 找到該文件或編輯源查找路徑以包含其位置。」 我發現:當我把一個<< endl;在printAdresse();的所有輸出中,至少名稱和strasse在控制檯上得到 – RandomDisplayName

回答

0

在main()函數返回之前放置一個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(6423)以及電子郵件,這是因爲mPlz是整數嗎? – RandomDisplayName

+0

@RandomDisplayName _''因爲mPlz是一個整數'_是的。你不能連接字符串(文字)和整數,使用'<<'而不是'+'! –

+0

感謝您的幫助,現在一切正常;) – RandomDisplayName