[₽] 2023-06-14 22:11 采纳率: 86.7%
浏览 22
已结题

为什么这里运行时出错了

准备从dev c++转到vs code,在tasks.json中输入的是这个引用变量,调试时却说变量引用无效?

img


img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-06-16 01:23
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 请看👉 :【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )
    • 除此之外, 这篇博客: VS Code 配置C/C++环境中的 tasks.json代码: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
      reveal可根据自己喜好修改,即使设为never,也只是编译时不跳转到“终端”而已,手动点进去还是可以看到,我个人设为never。
      
      命令行参数方面,-std根据自己的需要修改。如果使用Clang编写C语言,把command的值改成clang。
      
      如果使用MinGW,编译C用gcc,编译c++用g++,并把-target和-fcolor那两条删去。如果不想要额外警告,把-Wall那一条删去。
      
      参数的作用我加了注释,还看不懂,百度gcc使用教程。
      
      // https://code.visualstudio.com/docs/editor/tasks
      {
          "version": "2.0.0",
          "tasks": [
              {
                  "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
                  "command": "clang++", // 要使用的编译器
                  "args": [
                      "${file}",
                      "-o", // 指定输出文件名,不加该参数则默认输出a.exe
                      "${fileDirname}/${fileBasenameNoExtension}.exe",
                      "-g", // 生成和调试有关的信息
                      "-Wall", // 开启额外警告
                      "-static-libgcc", // 静态链接
                      "-fcolor-diagnostics",
                      "--target=x86_64-w64-mingw", // 默认target为msvc,不加这一条就会找不到头文件
                      "-std=c++17" // C语言最新标准为c11,或根据自己的需要进行修改
                  ], // 编译命令参数
                  "type": "shell",
                  "group": {
                      "kind": "build",
                      "isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提
                  },
                  "presentation": {
                      "echo": true,
                      "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档
                      "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译c和c++来说,设为true没有意义
                      "panel": "shared" // 不同的文件的编译信息共享一个终端面板
                  }
                  // "problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的注释符,并在上一条之后加个逗号。照着我的教程做的不需要改(也可以把这行删去)
              }
          ]
      }
      

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月24日
  • 已采纳回答 6月16日
  • 修改了问题 6月14日
  • 创建了问题 6月14日

悬赏问题

  • ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
  • ¥15 C语言使用vscode编码错误
  • ¥15 用KSV5转成本时,如何不生成那笔中间凭证
  • ¥20 ensp怎么配置让PC1和PC2通讯上
  • ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
  • ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
  • ¥15 请各位帮我看看是哪里出了问题
  • ¥15 vs2019的js智能提示
  • ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
  • ¥15 uniapp的h5项目写一个抽奖动画