2017-11-11 84 views
0

我正在學習C++編程語言。我已經包含一個類,並顯示一個像這樣的輸出的「Hello World」給用戶一個文件:這段代碼有什麼問題(基本C++代碼)

#include <iostream> 
#include <string> 

using std::cout; 
using std::endl; 

class print() 
{ 
    public: 
     print(string name) 
     { 
      setName(name); 
     } 
     void setName(string name) 
     { 
      output = name; 
     } 
     string getName() 
     { 
      return output; 
     } 
    private: 
     string output; 
}; 

int main() 
{ 
    print print1("Hello"); 
    print print2("World"); 

    cout << "Output1 is " << print1.getName() << "Output2 is " << print2.getName() << endl; 
    return 0; 
} 

它看起來不錯,但我收到此錯誤信息:

|| ===構建文件:「no project」中的「no target」(編譯器:未知)=== |

那麼這是什麼意思,代碼中是否有任何錯誤?

+0

你使用什麼編譯器?你也缺少'使用std :: string;' – SurvivalMachine

+0

你的程序結尾有一個U + FEFF。例如,這讓我的編譯器絆倒了。如果刪除它,您可能會得到更好的錯誤診斷。 – Rakete1111

+0

避免「使用」,在你的情況下,它只是讓你的代碼不清楚。寫'std :: string'而不是'string'會使你的代碼更具可讀性。 –

回答

1
class print() // <-- class declaration doesn't take parentheses 

print(string name) // <-- you have to use std::string 
1

是的,正如其他人已經指出的,你的代碼有一些錯誤(我不會在這裏重複)。但是,這不是主要的問題,看來你甚至不弄到這些錯誤顯示:

||=== Build file: "no target" in "no project" (compiler: unknown) ===| 

似乎告訴大家,有什麼東西真的錯了你的編譯環境,你不編譯/根本建立。看來你還沒有正確設置項目/ makefile。請熟悉您的編譯器,鏈接器以及構建您的程序所需的makefile或項目。也許,如果你使用IDE(集成開發環境)如QDevelop,Eclipse或KDevelop,你將不得不告訴你的IDE在IDE的「項目設置」(或類似的)對話框中的什麼地方做什麼。

我想尋找一個簡單的howto/example/tutorial如何用你的工具正確地建立一個文件(這對Google上的任何編譯器和IDE都有很多幫助)。最簡單的事情是,如果你發現一個已經建立的項目,你可以爲你的目的合法地改變它。

一旦你完成了這些工作並編譯完成,你將會得到一些關於你的代碼中的錯誤的好的和詳細的錯誤信息,你將可以很容易地自己修復它們。

0

首先:不是使用多個using std::使其using namespace std;但如果你喜歡它的多個吃你的時間和行添加using std::string;

二:類聲明不採取括號這將是

class print 
{ 
    //class code 
}; 

第三: || ===構建文件:「no project」中的「no target」(編譯器:未知)=== |

意味着你的編譯器有問題,無論是g ++ Intel還是你使用的其他編譯器fix =>重新安裝編譯器。

給你的第四個注意事項:不僅關注正常的/*your writing*/代碼錯誤,它可能在聲明中發生,比如發生在這裏的事情。