小编Dea*_*ive的帖子

C++循环依赖 - 命名空间与结构

请教育我.为什么编译:

struct compiles
{
    struct A;
    struct B
    {
        B(const A &a) : member(a.member) { }
        int member;
    };
    struct A
    {
        A(const B &b) : member(b.member) { }
        int member;
    };
};
Run Code Online (Sandbox Code Playgroud)

虽然这不是:

namespace doesnt
{
    struct A;
    struct B
    {
        B(const A &a) : member(a.member) { }
        int member;
    };
    struct A
    {
        A(const B &b) : member(b.member) { }
        int member;
    };
}
Run Code Online (Sandbox Code Playgroud)

(在MSVC 9.0中)

c++ namespaces

13
推荐指数
2
解决办法
758
查看次数

标签 统计

c++ ×1

namespaces ×1