2011-07-31 83 views
1

我從文本文件讀取行並希望重複的分隔符爲\ t \ t。通常我在分隔符之間有一個參數,但出於可讀性的原因,爲了排列文本序列,有時使用字符串作爲\ t \ t \ t很好。用於處理字符串的類問題

我在main.cpp中寫了一個類,效果很好。因爲我想保持我的main.cpp儘可能緊湊,所以我嘗試使用頭文件創建一個類文件。我在頭文件中做了前向聲明,並在class.cpp文件中粘貼了工作類成員。

該類使用在class.cpp中聲明的字符串類型變量。編譯編譯器時給我一個錯誤,說「字符串沒有命名類型」。我猜想在我包含string.h頭文件的時候出現了一些問題。

它包含在Main.cpp文件中。我是否應該將它也包含在類的頭文件或class.cpp文件中。我從以前的交流中瞭解到,包括各地的圖書館都應該避免。

由於提前,

斯特凡

+0

對不起,我忘了將字符串定義爲std :: string,這似乎解決了問題,但是當最後一個字符串類型定義被修改爲std :: string時,編譯器再次給了我相同類型的錯誤。 – noste99

回答

1

如果您想使用C++ std::string,則應包含<string>標頭。

名稱相似的<string.h>用於C語言字符串函數。

+0

謝謝,這解決了這個問題。 – noste99

1

頭文件的自足,即包括所有他們需要爲自己的東西(如類型,他們參考)。爲了防止不良表現和其他問題,所謂的include guards防止重複包含。

1

您需要在所有其他文件(.h.cpp)中包含.h文件,這些文件使用您在標題中聲明的類型/函數。

class.cpp應該包括class.hmain.cpp如果它使用你的字符串類,應該包含class.h