【问题标题】:error C2057 is not thrown when using MinGW64使用 MinGW64 时不会抛出错误 C2057
【发布时间】:2021-02-10 13:29:46
【问题描述】:

我基本上有以下几行代码

void func1(size_t sz1)
{
    double arr[sz1];
}

当我使用 Microsoft Visual C++ 2019 (C) 编译器时,会抛出错误 C2057。当我使用 MinGW64 编译器 (C) 时,我没有收到错误,并且代码按预期工作。 MinGW64 编译器是否会自动使用mallaoc 或者为什么我不会在使用此编译器时遇到错误?此外,在使用上面的代码行而不是malloc 时,我是否会遇到任何麻烦?

【问题讨论】:

    标签: arrays malloc


    【解决方案1】:

    看看c++ array - expression must have a constant value,g++ 似乎有这个特性(很可能mingw 也使用这个)。似乎编译器会在后台分配,但问题是你的代码不能跨编译器移植。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-28
      • 1970-01-01
      • 2019-12-06
      • 2014-06-25
      • 1970-01-01
      相关资源
      最近更新 更多