首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导出命名空间后的所有内容都不会导出吗?

导出命名空间后的所有内容都不会导出吗?
EN

Stack Overflow用户
提问于 2017-09-28 21:04:26
回答 2查看 1K关注 0票数 16

我正在读关于模块的文章,我希望做一些类似这样的事情:

a.cpp

代码语言:javascript
运行
复制
module foo.a;

export namespace foo {
    struct A {
        void doA();
    };
}

import foo.b;
void foo::A::doA() {
     B{}.doB();
}

b.cpp

代码语言:javascript
运行
复制
module foo.b;

export namespace foo {
    struct B {
        void doB();
        void start();
    };
}

import foo.a;
import std.io;
void foo::B::doB() {
     std::cout << "Stuff done!" << std::endl;
}

void foo::B::start() {
     A{}.doA();
}

main.cpp

代码语言:javascript
运行
复制
import foo.b;

int main() {
    foo::B{}.start();
}

由于模块接口不能相互使用,因此,导出的命名空间之后的所有内容都不能是接口的一部分。根据当前的TS,上述内容是否正确?对于实现中的循环依赖,是否需要拆分成另一个文件?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46469921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档