【发布时间】:2017-03-03 19:10:00
【问题描述】:
我收到以下代码的奇怪错误:
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 没有修复它,所以这个问题不是重复的。
【问题讨论】:
-
已经试过
template<class T, size_t Size = sizeof(T)>了吗? -
我猜这里:项目设置 -> C/C++ 常规 -> 代码分析 但我没有使用 eclipse 所以我不确定
-
是的。这是可重复的。可能值得报告错误。
-
CDT 的 C++ 代码库目前正在积极开展工作,我建议您将可重现的测试用例提交给bugs.eclipse.org/bugs/enter_bug.cgi?product=CDT
-
@JonahGraham 我会报告的。
标签: c++ eclipse eclipse-cdt