如何在单独的模板实现文件中解析符号?

时间:2016-07-20 08:28:20

标签: c++ templates clion

我有一个关于CLion IDE的非常简单的问题,我无法找到任何帮助。

我有一个头文件(让我们称之为A.hpp),它声明了一个模板类。所有模板类方法的定义都放在一个名为A.ipp的单独文件中。后一个文件包含在A.hpp中。我认为这是一种非常标准的方法,可以保持头文件对模板类的清洁。我现在在CLion面临的问题是A.ipp中的所有符号都没有得到解决。我可以理解,因为A.ipp不包括A.hpp(但反之亦然)。

所以我的问题是,是否有一些选项可以帮助CLion解决A.ipp中的符号。下面是一个非常简单的例子来说明问题。

// file: A.hpp

template<typename T>
class Foo {
public:
  Foo(const T& d);
  void print() const;

private:
  T m_data;
};

#include "A.ipp"

// file: A.ipp

#include <iostream>

template<typename T>
Foo<T>::Foo(const T& d):
  m_data(d)
{}

template<typename T>
void Foo<T>::print() const {
  std::cout << m_data << std::endl;
}

非常感谢任何帮助。 谢谢, 基督教

0 个答案:

没有答案