C++ 中的表达式必须有常量值错误[重复]

2024-04-21

可能的重复:
有没有办法用非常量变量初始化数组? (C++) https://stackoverflow.com/questions/972705/is-there-a-way-to-initialize-an-array-with-non-constant-variables-c

我有以下代码:

vector<vector<vec2>> vinciP;
    int myLines = -1;
    myLines = drawPolyLineFile("vinci.dat", vinciP);
    if (myLines > -1)
    {
        cout << "\n\nSUCCESS";
        vec2 vPoints[myLines];
        for (int i = 0; i < NumPoints; ++i)
        {
            vPoints[i] = vinciP[0][i];
        }
    }

我在“vec2 vPoints[myLines];”行上收到错误这表示表达式必须具有常量值。我不明白为什么会出现此错误,有帮助吗?

是因为 myLines 可能为负数吗?我不知道。


vec2 vPoints[myLines];

Since myLines不是一个const表达式((这意味着,它在编译时是未知的),因此上面的代码声明了一个可变长度数组,这在 C++ 中是不允许的。只有 C99 具有此功能。您的编译器可能会将其作为扩展(但这是不是标准 C++)。

这种常见问题的解决方案是:使用std::vector<T> as:

std::vector<vec2> vPoints(myLines);

现在应该可以了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中的表达式必须有常量值错误[重复] 的相关文章

随机推荐

  • 是否可以使用容器管理的身份验证和密码加盐?

    我知道如何设置使用表单身份验证并使用摘要密码 例如 SHA 256 的普通容器管理安全性 像这样的东西 web xml
  • 如何在iPhone中的sqlite数据库中插入图像

    如何在数据库中插入图像 我尝试过但没有插入 查询的问题出在哪里 这是我的模型类 m 文件 此文件中的代码之后sqlite3 prepare v2我的痕迹没有插入sqlite3 bind blob之后就直接出去了sqlite3 prepare
  • 使用 Retrofit2 在 Android Studio 上的位置 0 处出现意外的 JSON 标记 # 错误

    我有一个问题 JSON 中位置 0 处出现意外的标记 我想做的是使用 Firebase 上的 Cloud Function 删除 Firebase 用户 没有返回 但错误显示 存在意外的 json 令牌 这是一些代码 CloudFuncti
  • Twitter API 速率限制

    我想从 Twitter 收集几周内的数据 为此 我使用 RStudio Server 和 crontab 自动运行多个脚本 如下所示 require ROAuth require twitteR require plyr load twit
  • 将通用扩展方法限制为基本类型和字符串

    我想要 XElement XAttribute 的扩展方法 它允许我应用 ValueOrDefault 逻辑 也许具有各种略有不同的实现 ValueOrNull ValueOrDefault NumericValueOrDefault 验证
  • HTML 实体解码为特殊字符

    我想在输出中显示特殊符号 例如 我的文本可能包含实体代码 例如 lt gt ETC 我想将其显示为 lt gt 在我的输出中 我需要在 SQL 中执行此操作 我用谷歌搜索了这个并得到了一个函数 select dbms xmlgen conv
  • 使用依赖注入在工作线程中实例化对象

    我的目标是在并行线程中运行一个永无止境的进程 问题是 我不能只在新线程中实例化我的工作服务 因为我在我的应用程序中使用 DI 根据我对 SO 的研究 我注意到很多人建议需要将抽象工厂注入到线程中 以在并行线程中动态实例化线程安全对象 1 h
  • 输出字符串字符总数

    我的问题是 如果我想获取用户输入的字符总数 应该使用什么方法 在不使用数组的情况下 我尝试使用 length 但它没有返回名字和姓氏中的所有字符 它只返回名字 这是我的代码的示例 请不要笑我在编程方面真的很新 System out prin
  • 在 SVG 路径中对 SVG 进行动画处理

    我已经构建了一个路径动画 但 svg 中的锯片有问题 我想要为 Sawblade 制作动画 360 度旋转
  • 尝试伪造和轮换用户代理

    我正在尝试伪造用户代理并在 Python 中轮换它们 我在网上找到了一个关于如何使用 Scrapy 执行此操作的教程scrapy 用户代理 https github com svetlyak40wt scrapy useragents包裹
  • 如何在 Jekyll 中列出同一类别的帖子?

    我想列出与当前帖子具有相同类别的固定数量的最近帖子 这就是我得出的结论 for category name in page categories limit 1 h2 Other articles in category name h2 u
  • 使用 SSH.NET 在命令输出期间发送输入

    With PuTTY I connect to an SSH server and then I execute a command that constantly output logs multiple lines per second
  • Drupal:drupal_set_message 不显示消息

    当用户在我的网站上注册时 我似乎无法从 drupal set message 收到消息 我正在使用 Drupal 6 14 在 user module 中添加打印 function user register submit form for
  • Laravel 5 重写异常处理程序

    我想知道是否可以重写 Laravel 5 中的应用程序异常处理程序类 而不将其扩展到另一个类 也许更好的说法是我想要它 这样就不会App Exceptions Handler将在异常时调用 但是我自己的处理程序之一 提前致谢 正如 Digi
  • 在 oauth2 SignedJwtAssertionCredentials 中获得“invalid_grant”

    我正在尝试在服务器到服务器 JSON API 场景中创建 oauth2 access token 但它因 invalid grant 错误而失败 请帮助 from oauth2client client import SignedJwtAs
  • 如何检测前置摄像头放置在设备上的位置?

    有什么方法可以检测 Android 设备上前置摄像头的放置位置吗 我认为在手机上它总是在它的顶部 靠近耳机 但所有平板电脑都是不同的 我检查了华硕 Transformer 前置摄像头位于侧面 如果我以横向模式握住它 则位于顶部 但三星 Ga
  • 如何使用 EPPlus 移动工作表?

    需要什么命令EPPlus 移动工作簿中的工作表位置 我找不到任何适用于 EPPlus 互操作的移动命令 有四种移动工作表的方法 他们是 excelPackage Workbook Worksheets MoveAfter excelPack
  • 我想让图像全屏显示,直到滚动

    这是我尝试将此全屏图像应用到的页面 http www alexwiley co uk portfolio http www alexwiley co uk portfolio 我希望使图像显示 100 宽度和 100 高度 直到向下滚动 然
  • ASP.NET:Server.Execute() 中的 BOM

    我用它来写入响应流 using var writer new StringWriter context Server Execute virtualpath writer string s writer ToString Replace c
  • C++ 中的表达式必须有常量值错误[重复]

    这个问题在这里已经有答案了 可能的重复 有没有办法用非常量变量初始化数组 C https stackoverflow com questions 972705 is there a way to initialize an array wi