gpt4 book ai didi

c++:在函数参数列表中使用或不使用 namespace

转载 作者:太空狗 更新时间:2023-10-29 21:15:42 25 4
gpt4 key购买 nike

考虑这样一个简单的例子:

namespace foo {
struct Foo {};
struct Boo {
void f(Foo);
};
}

using foo::Boo;

void Boo::f(Foo)
{

}

clanggcc 编译这样的代码没有错误 (-pedantic -std=c++11) ,但 VC++-2015 报告有关 Foo 类型的错误 void Boo::f(Foo) - Foo underclared identifier .如果像这样重写代码:void Boo::f(foo::Foo) 它编译得很好,但有趣的是在这样的重写之后它还能编译:

namespace foo {
struct Foo {};
struct Boo {
void f(Foo);
};
}

void foo::Boo::f(Foo)
{

}

根据 c++11 标准,它是 VC++2015 错误吗?

最佳答案

不,这不是 MSVC 错误。您应该正确命名您的标识符。

关于c++:在函数参数列表中使用或不使用 namespace ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37022537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com