簡體   English   中英

C ++“std :: string尚未聲明”錯誤

[英]C++ “std::string has not been declared” error

我一直在尋找網站上的答案,但找不到任何幫助我的答案。

我有一個代碼,當我嘗試(如建議)添加這些行時使用字符串:

using namespace std;
using std::string;
#include <string>

我試圖單獨使用它們,我一起嘗試了所有這些。 最好的情況是當所有的字符串錯誤消失但我在“使用std :: string”這行時有另一個奇怪的錯誤,錯誤是:std :: string尚未聲明。 有任何想法嗎? 多謝你們。

先放#include <string>

避免在標題中using語句,因為您可能會將各種內容引入許多編譯單元。 using std::string在頭文件中可能是可以接受的,但是using namespace std 肯定不是因為它會在所有編譯單元中導致如此多的命名空間污染。 std命名空間不斷擴展(查看C ++中的所有新內容),因此您不希望在升級編譯器時修復大量錯誤。

include應該在using之前

#include <string>
using namespace std;
//using std::string; <-- Needless

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM