CLion不为头文件中的模板类中的函数提供代码生成,这些头文件不是可执行文件的源文件,或者没有相应的源文件。
在代码生成也有效的情况下,当CLion无法解析符号(这会导致编译错误)时,也会提供警告。
所以我的问题是,在CLion中使用模板头文件的理想方法是什么?
代码生成不起作用的示例:
// foo.hpp
template<typename T>
class Foo {
public:
void Bar();
};
# CMakeLists.txt
add_executable(exe not_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)