这些线路都在不同的头文件,并最终得到包括在下列顺序源文件:如何让这些typedefs工作?
class Alice;
/* pointers to Alice declared here!! */
template<class T>
class Bob;
typedef Bob<int> Alice;
template<class T>
class Bob
{
};
VS2013 error C2371: 'Alice' : redefinition; different basic types
为什么这是一个错误? 任何方法来解决它?
使用不同的名称空间? – ForEveR 2014-10-10 10:23:59
@ForEveR这是一个建议或问题? – 2014-10-10 10:30:28
第一个Alice是一个类,第二个Alice是一个模板。可能这就是它抛出错误的原因。我的问题是为什么你需要这种类型的定义。你可以重命名Alice的任何一个。 – user966379 2014-10-10 10:33:51