好的,情况就是这样。
//foo.h
struct A1{
struct A2{};
};
//bar.h
#include "MyString.h"
class A2; //note, not including foo.h
TEMPLATE_INSTIANTIATE_MAP_OF_TYPE(String,A2*); //assume compiler doesn't do this
是否有可能使上述情况起作用?我尝试创建一个MyMap<String,A1::A2*> m;
但编译器抛出未定义的引用错误。是否可以在没有 bar.h import foo.h 的情况下完成上述工作?