相关疑难解决方法(0)

c ++模板特化 - 链接器错误多个定义

我今天在这里提出第三个问题;-),但我对c ++模板编程和运算符重载都很陌生.

我正在尝试以下方法:

terminallog.hh

//snipped code

class Terminallog {
public:

    Terminallog();
    Terminallog(int);
    virtual ~Terminallog();

    template <class T>
    Terminallog & operator<<(const T &v);
    template <class T>
    Terminallog & operator<<(const std::vector<T> &v);
    template <class T>
    Terminallog & operator<<(const T v[]);
    Terminallog & operator<<(const char v[]);

//snipped code
};

//snipped code
template <class T>
Terminallog &Terminallog::operator<<(const T &v) {
    std::cout << std::endl;
    this->indent();
    std::cout << v;
    return *this;
}

template <class T>
Terminallog &Terminallog::operator<<(const std::vector<T> &v) {
    for (unsigned int i = 0; …
Run Code Online (Sandbox Code Playgroud)

c++ template-specialization

12
推荐指数
1
解决办法
5765
查看次数

标签 统计

c++ ×1

template-specialization ×1