Dev-C++;给出'&';引用语法错误
Dev-C++有什么问题,或者我的代码中关于使用引用变量有错误吗Dev-C++;给出'&';引用语法错误,c,dev-c++,C,Dev C++,Dev-C++有什么问题,或者我的代码中关于使用引用变量有错误吗 #include <stdio.h> struct P { int x; }; int main(int argc, char **argv){ struct P Point[5]; struct P & rPoint; int i; for(i=0;i<=4;i++) {
#include <stdio.h>
struct P {
int x;
};
int main(int argc, char **argv){
struct P Point[5];
struct P & rPoint;
int i;
for(i=0;i<=4;i++) {
rPoint = Point[i]; // I know. I can use Point[i].x = i. But...
rPoint.x = i;
}
for(i=0;i<=4;i++) {
rPoint = Point[i];
printf("%d\n", rPoint.x);
}
system("pause");
return 0;
}
#包括
结构P{
int x;
};
int main(int argc,字符**argv){
结构P点[5];
结构P&rPoint;
int i;
for(i=0;iC++不允许未分配的引用,因此这是您的错误:
struct P & rPoint;
如果要重新分配,请使用指针
int main(int argc, char **argv){
struct P points[5];
struct P* point;
int i;
for(i=0;i<=4;i++) {
point = points + i; // or &points[i]
point->x = i;
}
// ...
int main(int argc,char**argv){
结构P点[5];
结构P*点;
int i;
对于(i=0;ix=i;
}
// ...
C++引用不是这样工作的。在定义引用时必须初始化它。例如:
int x = 5;
int &r = x; // Initialise r to refer to x
此外,您不能“重新定位”引用;它将始终引用相同的变量。因此,继续上面的示例:
int x = 5;
int y = 10;
int &r = x;
r = y; // This will not re-seat y; it's equivalent to x = y
错误:9 C:*\main.C“&”标记前的语法错误
除了别人说的以外,你把它编译成C文件,C引用中不存在。如果你想编译它为C++,或者把<代码>点>代码>一个指针而不是一个引用(实际上,你必须使它成为指针,因为你不能重新引用),那么就给它一个.CPP扩展。.
我认为没有特定于Dev-C++的库,重要的是编译器,对于Dev-C++来说,您通常只使用旧版本的MinGW(这与其他免费和更好的IDE中通常使用的编译器相同)。$gcc test.cpp test.cpp:in函数“int main”(int,char**)':test.cpp:9:20:error:'rPoint'声明为引用,但未初始化测试。cpp:21:22:error:'system'未在此范围内声明我无法在mingw上构建库。该库将在Dev-C++上打包。有点慢:)AFEK DEV-C++只是一个IDE,编译器后面是GCC,没有专门的非标准库,它与DEV-C++捆绑在一起(但可能我错了)。总之,这是C和C++的混合,我想它是C语言,有C++的特性,但没有什么严重的C++。我坚信使用<代码>系统(“暂停”)。
是一种坏的编程习惯,即使对于windows程序员来说也是如此……您有devpaks库吗?无论如何,您不需要特定的IDE来使用预编译的动态或静态LIB。