【发布时间】:2010-12-28 13:58:49
【问题描述】:
我正在尝试在 MSVC++ 10 上编译在 MSVC++ 9 中运行良好的解决方案和项目,但我遇到了问题,主要收到以下消息:
error C2888: 'std::hash' : 符号不能在命名空间'tr1'中定义
关于以下代码:
namespace std {
namespace tr1 {
template <>
struct hash< Rubedo::eChannelFamily >
{
std::size_t operator()( const Rubedo::eChannelFamily& Key ) const
{
return ( int ) Key;
}
};
}}
如果我能做到以下之一,我会非常高兴:
- 修改代码修复bug,编译干净;
- 强制编译器的行为类似于 MSVC++ 9.0。
我该怎么做呢? 非常感谢您。
【问题讨论】:
标签: c++ visual-studio-2008 visual-studio-2010 visual-c++ migration