【问题标题】:How to declare an array in visual studio? [duplicate]如何在 Visual Studio 中声明一个数组? [复制]
【发布时间】:2021-12-24 12:05:09
【问题描述】:

首先,我在vscode写了这段代码,可以执行。然后我复制到visual studio,显示这个错误。

#include <Windows.h>
#include <string>
#include <cstdio>
using namespace std;

int main() {
    string s = "abcdefg";
    int arr[s.size()];
}

【问题讨论】:

  • 请不要将代码作为图像发布,将代码复制并粘贴到帖子本身中。
  • 请提供整个代码而不是照片,以便其他人帮助您调试。
  • 您没有在 Visual Studio 中声明数组。您使用 Visual Studio 编写 C++ 程序,您可以在其中声明数组。在您的情况下,bitset &lt;7&gt; h[pt_size] 是非法的 C++:它实际上有几个不同的错误。阅读文档以了解正确用法:cplusplus.com/reference/bitset/bitset/bitset

标签: c++ windows


【解决方案1】:

在 C++ 中,数组的大小必须是编译时常量(constant expression)。所以下面的说法是不正确的:

int n = 10;
int arr[n]; //incorrect

上面的正确写法是:

const int n = 10;
int arr[n]; //correct

所以错误

表达式必须有常数值

表示此错误,因为pt_size 必须是常量表达式(整数)。

来自cpp

方括号 [] 中的 elements 字段,表示数组中元素的数量,必须是一个常量表达式,因为数组是静态内存块,其大小必须在编译时,在程序运行之前确定。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 2015-08-04
    • 2012-06-01
    • 2012-06-15
    • 2016-08-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多