Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dev-C++;给出'&';引用语法错误_C_Dev C++ - Fatal编程技术网

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++) {

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++) {
            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。