2014-01-21 68 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