有关太多模板标题的警告

时间:2018-04-27 09:29:18

标签: c++ c++14

我有与previous discussion相同的警告信息,但我不明白如何解决它:

  

警告:foo< 1> :: value的模板标头太多(应为0)    int const foo< 1> :: value = 1;

当想要使用以下玩具标题时,会出现警告消息:

Sub sbCopyRangeToAnotherSheet()
    Sheets("Arkusz2").Range("A2:D2").Copy Sheets("Arkusz1").Range("A2,A5,A8,A11")
End Sub

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

1 个答案:

答案 0 :(得分:6)

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