2016-04-13 69 views

回答

0

更改您的包括到

#include<string> 

的string.h中包含了这些功能操作字符串,而不是std :: string类。

#pragma once 

是为了防止头被多次包含,导致重复的符号。 在C++中,#include表示编译器将#include替换为包含文件的内容。

想象一下,你有A.h使用Vector,因此包括Vector.h和B.h,它使用Vector并包含Vector.h。 如果C.h包含A.h和B.h,则Vector.h包含2次。 编译器会发现类向量被定义了两次,这会导致错误。

使用#pragma一次,预处理器可以确保文件Vector.h仅包含于C.h一次

相关问题