C++ 如何最好地处理clion中的模板头以便代码生成工作?

C++ 如何最好地处理clion中的模板头以便代码生成工作?,c++,templates,cmake,clion,C++,Templates,Cmake,Clion,CLion不为头文件中的模板类中的函数提供代码生成,这些头文件不是可执行文件的源文件,或者没有相应的源文件 CLion还将在无法解析符号(这将导致编译错误)时提供警告,以防代码生成也起作用 所以我的问题是,在CLion中使用模板头文件的理想方法是什么 代码生成不起作用的示例: // foo.hpp template<typename T> class Foo { public: void Bar(); }; # CMakeLists.txt add_executable(ex

CLion不为头文件中的模板类中的函数提供代码生成,这些头文件不是可执行文件的源文件,或者没有相应的源文件

CLion还将在无法解析符号(这将导致编译错误)时提供警告,以防代码生成也起作用

所以我的问题是,在CLion中使用模板头文件的理想方法是什么

代码生成不起作用的示例:

// foo.hpp
template<typename T>
class Foo {
 public:
  void Bar();
};

# CMakeLists.txt
add_executable(exe not_foo.hpp)
//foo.hpp
模板
福班{
公众:
空心钢筋();
};
#CMakeLists.txt
添加可执行文件(exe不是\u foo.hpp)
代码生成工作的示例:

// foo.hpp
#pragma once
template<typename T>
class Foo {
 public:
  void Bar();
};

// foo.cpp
#include "foo.hpp"
// EOF

# CMakeLists.txt
add_executable(exe foo.cpp)
//foo.hpp
#布拉格语一次
模板
福班{
公众:
空心钢筋();
};
//foo.cpp
#包括“foo.hpp”
//EOF
#CMakeLists.txt
添加可执行文件(exe foo.cpp)

也许我误解了您的问题,但在您实例化模板之前,没有为模板生成代码这类事情。你是如何实例化你的模板的?你说的“它不起作用”是什么意思?在生成/编译过程中是否有错误?我正在谈论CLion中的Generate函数。在第一个示例中,当您右键单击工具栏时,“生成”函数将灰显。CLion中的Generate功能生成函数定义。