对不起,我无法清楚地描述问题。 编译器给出的错误是:
D:\download\tensorflow-master\tensorflow-master\tensorflow\contrib\cmake\build\protobuf\src\protobuf\src\google/protobuf/arena.h(883): error C3855: “Eigen::Map”: type parameter 'MapOption' is incompatible with the declaration
D:\download\tensorflow-master\tensorflow-master\tensorflow\contrib\cmake\build\protobuf\src\protobuf\src\google/protobuf/arena.h(883): error C2976: “Eigen::Map”: too few type arguments
错误来自官方的tensorflow代码,我可以运行用C ++编写的示例程序。当我尝试将我的tensorflow代码插入到我的另一个项目中时,出现错误。
template <typename Key, typename T>
friend class Map;
我知道问题在于地图&#39;指向Eigen :: Map,同时需要指向google :: protobuff :: Map。此外,宣布地图&#39;在google :: protobuff名称空间下。 有没有人遇到过同样的问题? 我尽力发表明确的声明。非常感谢!
答案 0 :(得分:2)
这就是你不应该这样做的原因:
在范围内使用using namespace
声明
依赖于重新定义在标准库或公共库中保留或使用的标识符
两者都会导致名称冲突,后者可能导致无法察觉的冲突。