2011-07-31 124 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