我是C++的新手,我最近遇到了这个问题.
这段代码显然会起作用:
void setvalues(int *c, int *d)
{
(*c) = 1;
(*d) = 2;
}
int main()
{
int a, b;
setvalues(&a, &b);
std::cout << a << b;
}
Run Code Online (Sandbox Code Playgroud)
那么为什么会返回错误呢?Visual C++ 2010错误:
C2664: 'setvalues' : cannot convert parameter 1 from 'int (*)[2]' to 'int *[]'
void setvalues(int *c[2], int *d[2])
{
(*c[1]) = 1;
(*d[1]) = 2;
}
int main()
{
int a[2], b[2];
setvalues(&a, &b);
std::cout << a[1] << b[1];
}
Run Code Online (Sandbox Code Playgroud)
指向数组的指针有什么不同?我四处搜寻但没有运气.
我正在使用Eclipse.如果我将主(Android)项目的合规性级别从1.6更改为1.7,则会出现错误:
Android requires compiler compliance level 5.0 or 6.0. Found '1.7' instead. Please use Android Tools > Fix Project Properties.
如果我将"库"(Java)项目的合规性级别从1.7更改为1.6,则其中的许多代码将变为无效.
是否正在浏览Java项目的代码并修复我的单个选项中的每个错误?