我閱讀有關的模塊,我希望做這樣的事情:是導出命名空間不導出後的一切嗎?
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,以上是否正確?對於實現中的循環依賴性,是否需要將它分解爲另一個文件?
您錯誤地將您的代碼標記爲c/C++。請將其標記爲Typescript。 – StarShine
@StarShine - 你在做什麼? – StoryTeller
模塊,據我所知,導入和語法如A {}。doA()是無效的C++。 – StarShine