作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
有那些:
template<class T>
struct Is_Node
{
enum {value = false};
};
template<class Key_T, class Value_T>
class Node;//frwd decl.
template<class K,class V>
struct Is_Node<Node<K,V>>
{
enum {value = true};
};
enum Tags {tree_tag,node_tag,root_tag,parent_tag,left_tag,right_tag,key_tag,value_tag,color_tag};
template<Tags>
struct Tag_2_Type
{/*eb*/};
template<class Node_T>
typename Node_T::node_ptr& get_root(Node_T& node)
{
return get_root_hlp(node,Tag_2_Type<Is_Node<Node_T>::value>());
}
template<class Node_T>
typename Node_T::node_ptr& get_root_hlp(Node_T& node,Tag_2_Type<node_tag>)
{
return node->root_;
}
template<class Node_T>
typename Node_T::node_ptr& get_root_hlp(Node_T& node,Tag_2_Type<tree_tag>)
{
return node->root_;
}
我遇到错误:
错误 C2893:无法特化函数模板“Node_T &get_root(Node_T &)”
知道为什么吗?
最佳答案
您没有给出足够的代码来确定,但我怀疑问题是您在尝试调用 get_root 时没有定义 Node,因此编译器无法识别 Node_T::node_ptr。另一个问题似乎是 get_root 在声明之前调用 get_root_hlp。
关于c++ - 无法专攻 fnc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6924784/
CDI具有Specialization的特点,我正在 Spring 世界中寻找它。 细节。 在 CDI 中, @Specializes 注释允许人们仅通过覆盖它来改变 bean 的行为。这对该 bea
我是一名优秀的程序员,十分优秀!