我正在读关于模块的文章,我希望做一些类似这样的事情:
a.cpp
module foo.a;
export namespace foo {
struct A {
void doA();
};
}
import foo.b;
void foo::A::doA() {
B{}.doB();
}b.cpp
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
import foo.b;
int main() {
foo::B{}.start();
}由于模块接口不能相互使用,因此,导出的命名空间之后的所有内容都不能是接口的一部分。根据当前的TS,上述内容是否正确?对于实现中的循环依赖,是否需要拆分成另一个文件?
https://stackoverflow.com/questions/46469921
复制相似问题