gpt4 book ai didi

C++多重定义错误

转载 作者:行者123 更新时间:2023-11-30 04:38:41 24 4
gpt4 key购买 nike

从某人对这个问题的回答开始:

我想知道如果以下代码如何解决多个定义错误放在一个头文件中,由不同的 .cc 文件多次包含并链接在一起:

template <typename T>
class C {
static const int K;
static ostream& print(ostream& os, const T& t) { return os << t;}
};

// general case
template <typename T>
const int C<T>::K = 1;

// specialization
template <>
const int C<int>::K = 2;

最佳答案

将特化移动到其中一个 .cc 文件中。在标题中保留模板版本。

关于C++多重定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3039526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com