首页 > 解决方案 > 运算符 new 未定义

问题描述

在尝试学习 C++ 中的动态赋值时,每次我使用“new”运算符时,代码都无法编译。

我已经尝试过使用 malloc 和其他功能。他们工作了一段时间,但现在我需要动态声明一个对象,我似乎无法让 malloc 使用它。(另外,我应该可以使用 new 所以......)

#include <stdio.h>
#include <stdlib.h>

int main(){
    int * x = new int[10];
    for(int i = 0; i < 10; i++){
        x[i] = i;
    }
    for(int i = 0; i < 10; i++){
        printf("%d\n", x[i]);
    }
}

当我尝试使用“gcc main.cpp -o main.exe”进行编译时,它总是给我同样的错误:

[临时文件名]cc8cDkmk.o:main.cpp:(.text+0x13): undefined reference to `operator new[](unsigned long long)'

标签: c++11dynamicnew-operator

解决方案


推荐阅读