【发布时间】:2012-10-12 20:42:17
【问题描述】:
我在 Eclipse 中收到无效参数错误,但我确信我的参数是好的。建议的参数包含一个“?”我认为这可能表明问题所在,但我不知道如何解决它。
我已尽力复制我在此处看到的示例:
http://www.cplusplus.com/reference/clibrary/cstring/memset/
为了确定我得到的参数是正确的。
#include <stdio.h>
#include <string.h>
void foo()
{
char str[] = "why oh why does my IDE give me errors when I know my args are good?";
memset(str, '-', 4);
puts(str);
}
Eclipse 在 memset 行上给我以下错误:
Invalid arguments ' 候选者是:void * memset(void *, int, ?) '
这可能是什么原因造成的?那是怎么回事?作为第三个参数?
提前致谢!
PS:刚刚注意到我在尝试使用 malloc、calloc 等操作时遇到了类似的错误。
【问题讨论】:
-
如果这个警告太烦人,你可以禁用它:项目
Preferences -> C/C++ General -> Code Analysis -> Syntax and Semantec Errors,并取消选中Invalid arguments。 -
@Danijel - 但这有副作用,请参阅this。