跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • Online Tools
  • 用户
  • 群组
折叠
品牌标识

D2Learn Forums

  1. 主页
  2. Open Courses | 公开课
  3. mcpp-standard | 动手学 - 现代C++核心语言特性
  4. hello-mcpp中编译报错'auto' not allowed in function return type

hello-mcpp中编译报错'auto' not allowed in function return type

已定时 已固定 已锁定 已移动 已解决 mcpp-standard | 动手学 - 现代C++核心语言特性
版本macosclang
5 帖子 2 发布者 30 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • yiten94Y 离线
    yiten94Y 离线
    yiten94
    编写于 最后由 SPeak 编辑
    #1

    hello-mcpp中编译报错 dslings/d2x/common.hpp:36:12: error: 'auto' not allowed in function return type是c++版本不对吗?有地方指定c++版本吗

    SPeakS 1 条回复 最后回复
    0
    • SPeakS 离线
      SPeakS 离线
      SPeak d2learn-dev
      回复了yiten94 最后由 SPeak 编辑
      #4

      @yiten94 在 hello-mcpp中编译报错'auto' not allowed in function return type 中说:

      error: 'auto' not allowed in function

      该问题已经修复

      • commit: https://github.com/Sunrisepeak/mcpp-standard/commit/7cfa6bce0d4356e492bf4a809de188cc0609151e

      在教程项目根目录运行代码命令即可更新到最新代码(或手动用git进行同步

      d2x update
      
      1 条回复 最后回复
      1
      • SPeakS 离线
        SPeakS 离线
        SPeak d2learn-dev
        回复了yiten94 最后由 编辑
        #2

        @yiten94 可以提供一下系统版本和具体的报错信息(报错时的控制台的输出, 包含练习名), 然后我分析一下原因

        1 条回复 最后回复
        0
        • yiten94Y 离线
          yiten94Y 离线
          yiten94
          编写于 最后由 编辑
          #3

          多谢@SPeak
          系统是mac os 14.4,练习的名字是hello-cpp,即 项目使用教程/引导中的例子。
          详细输出为:
          🌏Progress: [>---------------------------] 0/27

          [Target: 00-0-hello-mcpp] - normal

          ❌ Error: Compilation/Running failed for dslings/hello-mcpp.cpp

          The code exist some error!

          ---------C-Output---------
          [ 23%]: cache compiling.release dslings/hello-mcpp.cpp
          error: dslings/d2x/common.hpp:36:12: error: 'auto' not allowed in function return type
          static auto test(U* f) -> decltype((f)(std::declval<Args>()...), std::true_type());
          ^~~~
          dslings/d2x/common.hpp:36:27: error: expected ';' at end of declaration list
          static auto test(U
          f) -> decltype((*f)(std::declval<Args>()...), std::true_type());
          ^
          ;
          dslings/d2x/common.hpp:42:12: error: unknown type name 'constexpr'
          static constexpr bool value = decltype(test<F>(nullptr))::value;
          ^
          2 warnings and 3 errors generated.

          in dslings/hello-mcpp.cpp

          AI-Tips-Config: https://d2learn.org/docs/xlings

          ---------E-Files---------
          dslings/hello-mcpp.cpp

          Homepage: https://github.com/d2learn/xlings

          SPeakS 1 条回复 最后回复
          0
          • SPeakS 离线
            SPeakS 离线
            SPeak d2learn-dev
            回复了yiten94 最后由 SPeak 编辑
            #4

            @yiten94 在 hello-mcpp中编译报错'auto' not allowed in function return type 中说:

            error: 'auto' not allowed in function

            该问题已经修复

            • commit: https://github.com/Sunrisepeak/mcpp-standard/commit/7cfa6bce0d4356e492bf4a809de188cc0609151e

            在教程项目根目录运行代码命令即可更新到最新代码(或手动用git进行同步

            d2x update
            
            1 条回复 最后回复
            1
            • SPeakS 离线
              SPeakS 离线
              SPeak d2learn-dev
              编写于 最后由 SPeak 编辑
              #5

              刚刚更新优化了一下工具在macos平台上的控制台刷新机制


              如果macos上遇到控制台的输出不刷新或重复输出问题, 可以运行下面命令进行更新一下工具(默认只会覆盖xlings的核心代码, 不用但心之前的安装或配置的环境和数据缓存

              curl -fsSL https://d2learn.org/xlings-install.sh | bash
              
              1 条回复 最后回复
              0
              • ,SPeakS SPeak 将这个主题转为问答主题
              • ,SPeakS SPeak 将这个主题标记为已解决
              • ,yiten94Y yiten94 将这个主题标记为已解决

              • 登录

              • 没有帐号? 注册

              • 登录或注册以进行搜索。
              d2learn forums Powered by NodeBB
              • 第一个帖子
                最后一个帖子
              0
              • 版块
              • 最新
              • 标签
              • 热门
              • Online Tools
              • 用户
              • 群组