class A{
private:
struct node{
int data;
node* next;
}*H;
public:
A(){
H=NULL:
}
void add(int i){
node* n=new node(); //这里有错
....
}
void xx(){
node n; //这样也有错 为什么呢???
....
}
};
10 个解决方案
#1
A::node * n = new A::node();
#2
得这么写吧:
struct node* n=new node();
struct node n;
struct node* n=new node();
struct node n;
#3
class A{
private:
struct node{
int data;
node* next;
}*H;
public:
A()
{
H=NULL;
}
void add(int i)
{
node * n=new node();
}
void xx()
{
node n;
}
};
不知道[color = #FF0000]是干嘛用的,不过我按上面的实现没有问题。
private:
struct node{
int data;
node* next;
}*H;
public:
A()
{
H=NULL;
}
void add(int i)
{
node * n=new node();
}
void xx()
{
node n;
}
};
不知道[color = #FF0000]是干嘛用的,不过我按上面的实现没有问题。
#4
这时的类和命名空间类似了,这样用A::node * n = new A::node();
不过既然楼主是用在外部的函数中,不明白lz为什么将结构体放在类内?
不过既然楼主是用在外部的函数中,不明白lz为什么将结构体放在类内?
#5
struct node{
int data;
node* next;
}*H;
改为
typedef struct tag_node{
int data;
tag_node* next;
} node, *H;
#6
node是内部声明的结构....
#7
不好意思
这个是论坛发贴的指定颜色的标记,不知道怎么是没作用上
#8
这个代码是随便写来表现问题的
没其他意思
我的问题是在实际中遇到的类似的问题
#9
xuexi
#10
不知道为什么在类的内部定义结构
#1
A::node * n = new A::node();
#2
得这么写吧:
struct node* n=new node();
struct node n;
struct node* n=new node();
struct node n;
#3
class A{
private:
struct node{
int data;
node* next;
}*H;
public:
A()
{
H=NULL;
}
void add(int i)
{
node * n=new node();
}
void xx()
{
node n;
}
};
不知道[color = #FF0000]是干嘛用的,不过我按上面的实现没有问题。
private:
struct node{
int data;
node* next;
}*H;
public:
A()
{
H=NULL;
}
void add(int i)
{
node * n=new node();
}
void xx()
{
node n;
}
};
不知道[color = #FF0000]是干嘛用的,不过我按上面的实现没有问题。
#4
这时的类和命名空间类似了,这样用A::node * n = new A::node();
不过既然楼主是用在外部的函数中,不明白lz为什么将结构体放在类内?
不过既然楼主是用在外部的函数中,不明白lz为什么将结构体放在类内?
#5
struct node{
int data;
node* next;
}*H;
改为
typedef struct tag_node{
int data;
tag_node* next;
} node, *H;
#6
node是内部声明的结构....
#7
不好意思
这个是论坛发贴的指定颜色的标记,不知道怎么是没作用上
#8
这个代码是随便写来表现问题的
没其他意思
我的问题是在实际中遇到的类似的问题
#9
xuexi
#10
不知道为什么在类的内部定义结构