由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 一个关于关键字typename的问题
相关主题
一个C++ template的问题return Triangular_iterator( _beg_pos );意思
有段c++代码看不懂C++ 程序求助
问个c++的template的问题C++中使用back_inserter为啥可以不用#include 和using std::back_inserter;??
菜鸟读C++ STL源程序的疑问a c++ question
c++ template specialization 参数文一个简单的c++
问一个简单的binary tree 问题C++ template question
[合集] 这个题有什么IDEA吗?谁给详细说一下这句
merge two Binary search tree in O(n) time and O(1) spaceC++ implicit typename的问题
相关话题的讨论汇总
话题: node话题: typename话题: tree话题: traversal话题: class
进入Programming版参与讨论
1 (共1页)
d****b
发帖数: 25
1
假设有一个模版tree class
template
{
private:
struct node
{
T elem;
node left;
node right;
}
node * head;
public:
typename tree::node * traversal( node * p, const T & e);
......................
};
这个traversal函数返回一个node 指针, 为什么前边必须要定义为 typename tree:
多谢!
X****r
发帖数: 3557
2
对于tree::node来说,由于tree这个模版类还没有实例化,
编译器并不知道tree::node是一个变量还是一个类型,所以你需
要用typename来告诉编译器这是一个类型。而如果不是写tree::node
而是直接写node,编译器就自动查找到当前范围里的node这个名字,
知道这是个类型了。

【在 d****b 的大作中提到】
: 假设有一个模版tree class
: template
: {
: private:
: struct node
: {
: T elem;
: node left;
: node right;
: }

z****e
发帖数: 2024
3
红猪侠新年好。

【在 X****r 的大作中提到】
: 对于tree::node来说,由于tree这个模版类还没有实例化,
: 编译器并不知道tree::node是一个变量还是一个类型,所以你需
: 要用typename来告诉编译器这是一个类型。而如果不是写tree::node
: 而是直接写node,编译器就自动查找到当前范围里的node这个名字,
: 知道这是个类型了。

1 (共1页)
进入Programming版参与讨论
相关主题
C++ implicit typename的问题c++ template specialization 参数
请问这是什么错误呀问一个简单的binary tree 问题
这段 C++ 怎么改才能编译?[合集] 这个题有什么IDEA吗?
共享我的C++面试题目精选merge two Binary search tree in O(n) time and O(1) space
一个C++ template的问题return Triangular_iterator( _beg_pos );意思
有段c++代码看不懂C++ 程序求助
问个c++的template的问题C++中使用back_inserter为啥可以不用#include 和using std::back_inserter;??
菜鸟读C++ STL源程序的疑问a c++ question
相关话题的讨论汇总
话题: node话题: typename话题: tree话题: traversal话题: class