如果我有一个名为program.h的程序头文件和一个名为program.template的模板,我知道你需要在#endif之前的program.h文件底部包含“program.template”。 这似乎与以前在文件顶部有#include的方法不一致。为什么是这样?C++为什么模板头部的底部#include?
我的另一个问题是,你需要在program.template文件中包含#include“program.h”吗?为什么或者为什么不?如果是这样,在文件的顶部或底部?
谢谢!
如果我有一个名为program.h的程序头文件和一个名为program.template的模板,我知道你需要在#endif之前的program.h文件底部包含“program.template”。 这似乎与以前在文件顶部有#include的方法不一致。为什么是这样?C++为什么模板头部的底部#include?
我的另一个问题是,你需要在program.template文件中包含#include“program.h”吗?为什么或者为什么不?如果是这样,在文件的顶部或底部?
谢谢!
#include
是一个C/C++预处理指令。它告诉编译器(预处理器组件)将文件X的内容(例如头文件)转储到#include位置的当前文件的源代码中。
#include指令可用于许多方面,需要将它放在另一个头文件/ C/CPP文件的开始,结尾或中间。
没有看到您的代码,很难说出它是什么或为什么完成。
实际上很简单,告诉它为什么完成:通常需要对所述函数的消费者可见“模板”主体。 – Yakk 2014-09-21 18:33:06
相关:http://stackoverflow.com/questions/495021/why-can-templates-only-be-implemented-in-the-header-file – juanchopanza 2014-09-21 17:26:12
所有'#include'的确基本上是复制粘贴文件那里的内容。 – chris 2014-09-21 17:41:47