1.模块不能导出静态变量或静态函数
//ex_test1.cpp
module;
#include <iostream>
export module ex_test1;
using namespace std;
export static int data = 0; //不能导出静态变量
export static void printS(const char* s) //不能导出静态函数
{
cout<<s<<endl;
}
2.可以导出具名命名空间下的符号
//ex_test1.cpp
module;
#include <iostream>
export module ex_test1;
using namespace std;
namespace A{
export void printS(const char* s)
{
cout<<s<<endl;
}
}
//im_main.cpp
import ex_test1;
int main()
{
A::printS("bye");
return 0;
}
//可以通过编译
//g++ -o m ex_test1.cpp im_main.cpp -std=c++20 -fmodules-ts
3.不能导出匿名命名空间中的符号