Eclipse CDT - 使用模板默认值时的“无效参数”

时间:2017-03-03 19:10:00

标签: c++ eclipse eclipse-cdt

我使用以下代码得到了一个奇怪的错误:

template<class T, size_t Size = sizeof(T)>
class foobar {
};

template<class T>
void foo(foobar<T> param1) {
    // Do something
}

void bar() {
    foobar<int> obj;

    foo(obj);
}

错误发生在第foo(obj);行,并且是:

Invalid arguments '
Candidates are:
void foo(foobar<#0,unsigned int16 0 #0>)
'

然而,代码本身编译得很好。我不知道如何解决它。

Eclipse giving me Invalid arguments ' Candidates are: void * memset(void *, int, ?) ' though I know the args are good没有修复它,所以这个问题不重复。

1 个答案:

答案 0 :(得分:1)

这是CDT中的一个错误。已提交bug report来跟踪它,并且已发布修复它的patch

更新:该错误现已为fixed。修复程序将出现在Eclipse Oxygen中。