gpt4 book ai didi

c++ - 关于太多模板标题的警告

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:34:01 27 4
gpt4 key购买 nike

我收到与 previous discussion 中相同的警告消息但我不明白如何解决:

warning: too many template headers for foo<1>::value (should be 0) int const foo<1>::value = 1;

当有人想使用以下玩具头时会出现警告消息:

#ifndef FOO
#define FOO

template<int T>
struct foo;

template<>
struct foo<1>
{ static int const value; };

template<>
int const foo<1>::value = 1;

#endif

你能解释一下这里的问题是什么吗?

最佳答案

template<>在你对 foo<1>::value 的定义中是无关紧要的。删除它:

template<int T>
struct foo;

template<>
struct foo<1>
{ static int const value; };

int const foo<1>::value = 1;

clang++给你一个更好的错误:

prog.cc:11:1: error: extraneous 'template<>' in declaration of variable 'value'
template<>
^~~~~~~~~~
1 error generated.

live example on wandbox

关于c++ - 关于太多模板标题的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50059355/

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