考虑以下模块:使用非导出函数模板内的C++模块
module M;
// a private, non-exporting function
int id(int x) {
return x;
}
export
template <class T>
int f(T x) {
return id(0);
}
export
int g(int y) {
return id(1);
}
,并用它下面的C++代码:
import M;
int main() {
g(42);
return 0;
}
它与VS2015更新1和作品编译成功,但如果我用f
替换g
,编译器会抱怨:error C3861: 'id': identifier not found
。
如何解决?
您是否正在使用正确的模块标志?我认为它不会从IDE本身起作用 – paulm