Apple Clang 在使用括号初始化时出错,而 g++和普通的 Clang 作品

发布于 2025-01-10 12:57:13 字数 685 浏览 0 评论 0原文

来自 learncpp.com 的代码示例不适用于 Apple Clang 13.0.0,而适用于 Homebrew 中的普通 Clang 和 g++。

代码

#include <iostream>

int getValueFromUser()
{
    std::cout << "Enter an integer: ";
    int input{};
    std::cin >> input;

    return input;
}

void printDouble(int value)
{
    std::cout << value << " doubled is: " << value * 2 << '\n';
}

int main()
{
    printDouble(getValueFromUser());

    return 0;
}

错误

main.cpp:6:11: error: expected ';' at end of declaration
        int input{};
                 ^
                 ;
1 error generated.

Apple Clang 不支持括号初始化吗?我现在真的很困惑。

This code example from learncpp.com doesn't work on Apple Clang 13.0.0 while working on both ordinary Clang and g++ from Homebrew.

Code

#include <iostream>

int getValueFromUser()
{
    std::cout << "Enter an integer: ";
    int input{};
    std::cin >> input;

    return input;
}

void printDouble(int value)
{
    std::cout << value << " doubled is: " << value * 2 << '\n';
}

int main()
{
    printDouble(getValueFromUser());

    return 0;
}

Error

main.cpp:6:11: error: expected ';' at end of declaration
        int input{};
                 ^
                 ;
1 error generated.

Does Apple Clang have no support for initializations by brackets? I'm really puzzled right now.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

司马昭之心 2025-01-17 12:57:13

是的,看起来 Apple Clang 的默认标准非常旧。当我添加 -std=c++20 作为标志时,它进行了编译。

Yeah, seems like Apple Clang's default standard is super old. When I added -std=c++20 as a flag it compiled.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文