Redian新闻
>
有家有口的还是别轻易回国了,真的伤不起啊 (转载)
avatar
有家有口的还是别轻易回国了,真的伤不起啊 (转载)# Joke - 肚皮舞运动
g*u
1
【 以下文字转载自 Computation 讨论区 】
发信人: gubu (法相), 信区: Computation
标 题: 问一个C++的binary search tree类实现问题
发信站: BBS 未名空间站 (Mon Jan 30 16:55:19 2012, 美东)
我想让search返回一个指向node的指针,下面代码编译有错误,不知道错在哪里?
错误提示是
error: expected constructor, destructor, or type conversion before ‘*’
token
search函数的实现如下:
template
BinarySearchTree::tree_node* BinarySearchTree::search(tree_node* p, T
d)
{
if(p==NULL||d==p->data)
return p;
else if(d>p->data)
return search(p->right,d);
else
return search(p->left,d);
}
下面是类的申明部分:
template
class BinarySearchTree
{
private:
struct tree_node
{
tree_node* left;
tree_node* right;
T data;
};
tree_node* root;
public:
BinarySearchTree()
{
root = NULL;
}
bool isEmpty() const { return root==NULL; }
void print_inorder();
void inorder(tree_node*);
void print_preorder();
void preorder(tree_node*);
void print_postorder();
void postorder(tree_node*);
void insert(T);
void remove(T);
tree_node* search(tree_node*,T);
void print_search(T);
};
avatar
P*5
2
为什么我家才两个月大的鸭子每天5点就开始嚷。嗓门还特大。邻居就快杀上门来了。
avatar
d*f
3
【 以下文字转载自 PhotoGear 讨论区 】
发信人: scintilla123 (北美狼), 信区: PhotoGear
标 题: 有家有口的还是别轻易回国了,真的伤不起啊
发信站: BBS 未名空间站 (Thu Oct 20 21:24:41 2011, 美东)
一个好朋友,一年前带着老婆孩子回去了。 一直联系不多,只是QQ上偶尔说几句
有点事情想找其帮忙,今晚打的电话, 聊完正事,顺便问他生活咋样, 结果他说已经
离婚了, 2个月前离得。
大为震惊, 要知道,这哥们的老婆是我们这出名的美女,多少人眼馋呢。这哥们爱好
也挺广泛,摄影,旅游,素描,钢琴,都有涉猎,他也是最早入无敌兔的那批人了,
也就是靠着这些魅力,我这哥们才在北美惨烈的婚姻市场上胜出,最后抱得美人归的
结果回国后,架不住国内想上位的漂亮小三的进攻,一次出差途中沦陷了,从此一发不
可收拾。 3个月前,年轻漂亮的小三怀上了,直接找到大房扔出怀孕诊断书。 大房难
以容忍, 然后就离婚了
我问他现在咋办? 他说下个月结婚, 和那个怀孕的小三, 肚里的孩子不等人啊......
给北美这边的女人几句忠告:
1. 千万不要挑战你老公对你的忠诚
2. 男人靠的住,母猪都上树
3. 千万不要对自己的美貌过于自信, 漂亮的女孩子一年一茬新的,你那点美貌在国内年轻的层出
不穷的漂亮小妹妹面前不堪一击
4. 把你的男人牢牢拴在美国,是对你自己家庭财产孩子最大的保护
avatar
c*p
4
把所有treenode改成struct treenode?

【在 g**u 的大作中提到】
: 【 以下文字转载自 Computation 讨论区 】
: 发信人: gubu (法相), 信区: Computation
: 标 题: 问一个C++的binary search tree类实现问题
: 发信站: BBS 未名空间站 (Mon Jan 30 16:55:19 2012, 美东)
: 我想让search返回一个指向node的指针,下面代码编译有错误,不知道错在哪里?
: 错误提示是
: error: expected constructor, destructor, or type conversion before ‘*’
: token
: search函数的实现如下:
: template

avatar
I*i
5
俗话说:公鸡叫三遍天才会亮
avatar
r*3
6
j点是无敌兔?
avatar
S*I
7
Name of a nested class is local to its enclosing class

【在 g**u 的大作中提到】
: 【 以下文字转载自 Computation 讨论区 】
: 发信人: gubu (法相), 信区: Computation
: 标 题: 问一个C++的binary search tree类实现问题
: 发信站: BBS 未名空间站 (Mon Jan 30 16:55:19 2012, 美东)
: 我想让search返回一个指向node的指针,下面代码编译有错误,不知道错在哪里?
: 错误提示是
: error: expected constructor, destructor, or type conversion before ‘*’
: token
: search函数的实现如下:
: template

avatar
Z*I
8
不是的,白天一直在打鸣
avatar
m*r
9
请教无敌兔是什么?

【在 r*******3 的大作中提到】
: j点是无敌兔?
avatar
g*u
10
还是不行啊

【在 c****p 的大作中提到】
: 把所有treenode改成struct treenode?
avatar
I*i
11
又看了一遍,原来是鸡同鸭讲,厚厚
树上的鸟天刚亮就开始叫,鸭子也差不多吧

【在 P******5 的大作中提到】
: 为什么我家才两个月大的鸭子每天5点就开始嚷。嗓门还特大。邻居就快杀上门来了。
avatar
j*s
12
就是一种很NB的兔子,WSN身份的象征。机版很多NC以拥有之为荣。

【在 m*******r 的大作中提到】
: 请教无敌兔是什么?
avatar
g*u
13
那应该怎么改呢?不要用nested class? 单独写一个TreeNode类吗?还是觉得nested比
较好啊

【在 S**I 的大作中提到】
: Name of a nested class is local to its enclosing class
avatar
L*A
14
到底是鸡还是鸭?小小鸭也很萌啊,你有片片没?
avatar
h*e
15
我觉得原楼主可能是无敌兔倒爷。
avatar
S*I
16
Why nested is better?

【在 g**u 的大作中提到】
: 那应该怎么改呢?不要用nested class? 单独写一个TreeNode类吗?还是觉得nested比
: 较好啊

avatar
G*G
17
congratulations. You have hens.

【在 P******5 的大作中提到】
: 为什么我家才两个月大的鸭子每天5点就开始嚷。嗓门还特大。邻居就快杀上门来了。
avatar
a*g
18
这种事还真的是多
我哥们回去才6个月,就被一个小姑娘攻陷了
还没有到离婚的地步,但是小姑娘要他去死估计都不会犹豫的



【在 d********f 的大作中提到】
: 【 以下文字转载自 PhotoGear 讨论区 】
: 发信人: scintilla123 (北美狼), 信区: PhotoGear
: 标 题: 有家有口的还是别轻易回国了,真的伤不起啊
: 发信站: BBS 未名空间站 (Thu Oct 20 21:24:41 2011, 美东)
: 一个好朋友,一年前带着老婆孩子回去了。 一直联系不多,只是QQ上偶尔说几句
: 有点事情想找其帮忙,今晚打的电话, 聊完正事,顺便问他生活咋样, 结果他说已经
: 离婚了, 2个月前离得。
: 大为震惊, 要知道,这哥们的老婆是我们这出名的美女,多少人眼馋呢。这哥们爱好
: 也挺广泛,摄影,旅游,素描,钢琴,都有涉猎,他也是最早入无敌兔的那批人了,
: 也就是靠着这些魅力,我这哥们才在北美惨烈的婚姻市场上胜出,最后抱得美人归的

avatar
g*u
19
因为这个struct只在binary search tree 类里才用得到啊,跟其他类没什么关系

【在 S**I 的大作中提到】
: Why nested is better?
avatar
l*d
20
你们邻居够nice,我家的狗在院子里,我没听见叫声,邻居就举报了。
avatar
b*g
21

都是有软肋的。

【在 a****g 的大作中提到】
: 这种事还真的是多
: 我哥们回去才6个月,就被一个小姑娘攻陷了
: 还没有到离婚的地步,但是小姑娘要他去死估计都不会犹豫的
:
:

avatar
S*I
22
public function search returns a pointer to tree_node and you say tree_node
has no relation to other classes?

【在 g**u 的大作中提到】
: 因为这个struct只在binary search tree 类里才用得到啊,跟其他类没什么关系
avatar
R*C
23
看来我真的很nice,我家邻居倆比熊,他们装了dog door,每次我们去后院,它们都要冲出
来,对着我们叫不停。
我家的poodle向来选择无视,我家的gsd一开始还隔着fense和它们对叫,候来也越来越无
视了。。。

【在 l*********d 的大作中提到】
: 你们邻居够nice,我家的狗在院子里,我没听见叫声,邻居就举报了。
avatar
a*a
24
就是相机
有的女的你不着她她着你
有时候糊糊涂涂的就犯错了

【在 m*******r 的大作中提到】
: 请教无敌兔是什么?
avatar
g*u
25
不用nested果然就好了!虽然还是不明白为什么nested不行,试了下在nested的情况下
如果不用template,那么BinarySearchTree::tree_node* 是可以的,但是用了template
之后,BinarySearchTree::tree_node* 就不可以了,奇怪啊。
anyway, 非常感谢!

node

【在 S**I 的大作中提到】
: public function search returns a pointer to tree_node and you say tree_node
: has no relation to other classes?

avatar
G*G
26
I never complained about neighbor dog's barking although they barked every
morning.

【在 l*********d 的大作中提到】
: 你们邻居够nice,我家的狗在院子里,我没听见叫声,邻居就举报了。
avatar
w*n
27
这不是变相劝微缩男海归吗?
avatar
m*y
28
Add "typename" before "BinarySearchTree::tree_node*", it should work.

template

【在 g**u 的大作中提到】
: 不用nested果然就好了!虽然还是不明白为什么nested不行,试了下在nested的情况下
: 如果不用template,那么BinarySearchTree::tree_node* 是可以的,但是用了template
: 之后,BinarySearchTree::tree_node* 就不可以了,奇怪啊。
: anyway, 非常感谢!
:
: node

avatar
g*u
29
Thanks! It works!

【在 m*****y 的大作中提到】
: Add "typename" before "BinarySearchTree::tree_node*", it should work.
:
: template

avatar
g*u
30
【 以下文字转载自 Computation 讨论区 】
发信人: gubu (法相), 信区: Computation
标 题: 问一个C++的binary search tree类实现问题
发信站: BBS 未名空间站 (Mon Jan 30 16:55:19 2012, 美东)
我想让search返回一个指向node的指针,下面代码编译有错误,不知道错在哪里?
错误提示是
error: expected constructor, destructor, or type conversion before ‘*’
token
search函数的实现如下:
template
BinarySearchTree::tree_node* BinarySearchTree::search(tree_node* p, T
d)
{
if(p==NULL||d==p->data)
return p;
else if(d>p->data)
return search(p->right,d);
else
return search(p->left,d);
}
下面是类的申明部分:
template
class BinarySearchTree
{
private:
struct tree_node
{
tree_node* left;
tree_node* right;
T data;
};
tree_node* root;
public:
BinarySearchTree()
{
root = NULL;
}
bool isEmpty() const { return root==NULL; }
void print_inorder();
void inorder(tree_node*);
void print_preorder();
void preorder(tree_node*);
void print_postorder();
void postorder(tree_node*);
void insert(T);
void remove(T);
tree_node* search(tree_node*,T);
void print_search(T);
};
avatar
c*p
31
把所有treenode改成struct treenode?

【在 g**u 的大作中提到】
: 【 以下文字转载自 Computation 讨论区 】
: 发信人: gubu (法相), 信区: Computation
: 标 题: 问一个C++的binary search tree类实现问题
: 发信站: BBS 未名空间站 (Mon Jan 30 16:55:19 2012, 美东)
: 我想让search返回一个指向node的指针,下面代码编译有错误,不知道错在哪里?
: 错误提示是
: error: expected constructor, destructor, or type conversion before ‘*’
: token
: search函数的实现如下:
: template

avatar
S*I
32
Name of a nested class is local to its enclosing class

【在 g**u 的大作中提到】
: 【 以下文字转载自 Computation 讨论区 】
: 发信人: gubu (法相), 信区: Computation
: 标 题: 问一个C++的binary search tree类实现问题
: 发信站: BBS 未名空间站 (Mon Jan 30 16:55:19 2012, 美东)
: 我想让search返回一个指向node的指针,下面代码编译有错误,不知道错在哪里?
: 错误提示是
: error: expected constructor, destructor, or type conversion before ‘*’
: token
: search函数的实现如下:
: template

avatar
g*u
33
还是不行啊

【在 c****p 的大作中提到】
: 把所有treenode改成struct treenode?
avatar
g*u
34
那应该怎么改呢?不要用nested class? 单独写一个TreeNode类吗?还是觉得nested比
较好啊

【在 S**I 的大作中提到】
: Name of a nested class is local to its enclosing class
avatar
S*I
35
Why nested is better?

【在 g**u 的大作中提到】
: 那应该怎么改呢?不要用nested class? 单独写一个TreeNode类吗?还是觉得nested比
: 较好啊

avatar
g*u
36
因为这个struct只在binary search tree 类里才用得到啊,跟其他类没什么关系

【在 S**I 的大作中提到】
: Why nested is better?
avatar
S*I
37
public function search returns a pointer to tree_node and you say tree_node
has no relation to other classes?

【在 g**u 的大作中提到】
: 因为这个struct只在binary search tree 类里才用得到啊,跟其他类没什么关系
avatar
g*u
38
不用nested果然就好了!虽然还是不明白为什么nested不行,试了下在nested的情况下
如果不用template,那么BinarySearchTree::tree_node* 是可以的,但是用了template
之后,BinarySearchTree::tree_node* 就不可以了,奇怪啊。
anyway, 非常感谢!

node

【在 S**I 的大作中提到】
: public function search returns a pointer to tree_node and you say tree_node
: has no relation to other classes?

avatar
m*y
39
Add "typename" before "BinarySearchTree::tree_node*", it should work.

template

【在 g**u 的大作中提到】
: 不用nested果然就好了!虽然还是不明白为什么nested不行,试了下在nested的情况下
: 如果不用template,那么BinarySearchTree::tree_node* 是可以的,但是用了template
: 之后,BinarySearchTree::tree_node* 就不可以了,奇怪啊。
: anyway, 非常感谢!
:
: node

avatar
g*u
40
Thanks! It works!

【在 m*****y 的大作中提到】
: Add "typename" before "BinarySearchTree::tree_node*", it should work.
:
: template

avatar
s*y
41
effective c++ 3rd, item 42
When declaring template parameters, class and typename are interchangeable.
Use typename to identify nested dependent type names, except in base class
lists or as a base class identifier in a member initialization list.
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。