vc一个类中调用另一个类的成员函数的

时间:2022-10-01 00:02:47
pDoc->m_pVctestView->DeleteAllItems();有错误
DeleteAllItems是View类中的一个成员函数,
 在DOC中这样定义,CVctestView* m_pVctestView=NULL;
错误如下;
d:\我的文档\vctest\vctestdoc.h(21) : error C2143: syntax error : missing ';' before '*'
d:\我的文档\vctest\vctestdoc.h(21) : error C2501: 'CVctestView' : missing storage-class or type specifiers
d:\我的文档\vctest\vctestdoc.h(21) : error C2501: 'm_pVctestView' : missing storage-class or type specifiers
有明白的,帮忙解决一下

13 个解决方案

#1


头文件漏了分号之类的

#2


CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;

#3


双击第一个错误,看到提示哪行。  估计是少符号..

#4


CVctestView的头文件没有包含进来吧。

#5


在DOC中的头文件 #include "VctestView.h"
在DOC的public:CVctestView* m_pVctestView;
在CVctestDoc构造函数中对pVctestView进行初始化:
pVctestView=NULL;没有用

d:\我的文档\vctest\vctestdoc.h(21) : error C2143: syntax error : missing ';' before '*'
 指向这一行CVctestView* m_pVctestView;


#6


符号没有定义,可能是没有包含相应的头文件。

#7


最好把程序贴下。

#8


引用 2 楼 jixingzhong 的回复:
CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;


构造函数中不能叫初始化吧? vc一个类中调用另一个类的成员函数的

#9


应该是 CVctestView类里面某一段代码 少了;

建议楼主单独编译CVctestView类试试呢

#10


估计你是这样
class CVctestView;
提前声明(forward declaration)时只能引用类名,不能引用其中的变量,因为还没有定义,可以考虑把实现写在对应的cpp中,也就是vctestdoc.cpp,或者直接在.h里include 包含CVctestView的头文件

#11


引用 8 楼 dhdahai 的回复:
引用 2 楼 jixingzhong 的回复:
CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;

构造函数中不能叫初始化吧?

构造函数中不能叫初始化,叫什么 ?

#12


引用 11 楼 kingdom_0 的回复:
引用 8 楼 dhdahai 的回复:引用 2 楼 jixingzhong 的回复:
CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;

构造函数中不能叫初始化吧?
构造函数中不能叫初始化,叫什么 ?


赋值

#13


vc一个类中调用另一个类的成员函数的建议把原程序贴上,这样就一眼就能看明白了,很有可能是头文件少了,或是少了“;”。

#1


头文件漏了分号之类的

#2


CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;

#3


双击第一个错误,看到提示哪行。  估计是少符号..

#4


CVctestView的头文件没有包含进来吧。

#5


在DOC中的头文件 #include "VctestView.h"
在DOC的public:CVctestView* m_pVctestView;
在CVctestDoc构造函数中对pVctestView进行初始化:
pVctestView=NULL;没有用

d:\我的文档\vctest\vctestdoc.h(21) : error C2143: syntax error : missing ';' before '*'
 指向这一行CVctestView* m_pVctestView;


#6


符号没有定义,可能是没有包含相应的头文件。

#7


最好把程序贴下。

#8


引用 2 楼 jixingzhong 的回复:
CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;


构造函数中不能叫初始化吧? vc一个类中调用另一个类的成员函数的

#9


应该是 CVctestView类里面某一段代码 少了;

建议楼主单独编译CVctestView类试试呢

#10


估计你是这样
class CVctestView;
提前声明(forward declaration)时只能引用类名,不能引用其中的变量,因为还没有定义,可以考虑把实现写在对应的cpp中,也就是vctestdoc.cpp,或者直接在.h里include 包含CVctestView的头文件

#11


引用 8 楼 dhdahai 的回复:
引用 2 楼 jixingzhong 的回复:
CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;

构造函数中不能叫初始化吧?

构造函数中不能叫初始化,叫什么 ?

#12


引用 11 楼 kingdom_0 的回复:
引用 8 楼 dhdahai 的回复:引用 2 楼 jixingzhong 的回复:
CVctestView* m_pVctestView;

在构造函数中对pVctestView进行初始化:
pVctestView=NULL;

构造函数中不能叫初始化吧?
构造函数中不能叫初始化,叫什么 ?


赋值

#13


vc一个类中调用另一个类的成员函数的建议把原程序贴上,这样就一眼就能看明白了,很有可能是头文件少了,或是少了“;”。