如何解决(关于CTreeCtrl)这段代码的错误提示

sky_163 2013-09-12 05:41:07

void InsetAllFile( list<CString>& filePathList){


CTreeCtrl & nTreeCtrl=((CMyTreeView*)(((CMainFrame*)AfxGetMainWnd())->m_SplitterWnd.GetPane(0,0)))->GetTreeCtrl();
nTreeCtrl.DeleteAllItems();

list<CString>::iterator it=filePathList.begin();
HTREEITEM hRoot=NULL;
CString filePath;
CString treeRootName=L"根目录"; //所有的文件都在根目录下 即:默认所有的文件都在同一个目录下

while(it!=filePathList.end())
{
filePath=*it;



if(hRoot==NULL)
hRoot=nTreeCtrl.InsertItem(treeRootName); //建立根目录



if(filePath.Find(treeRootName)==0) // 文件第一层目录与根目录相同,则截去文件第一层目录,文件从第二层目录开始
filePath=filePath.Right(filePath.GetLength()-treeRootName.GetLength()-1);


LoadPicFiles(nTreeCtrl,filePath, hRoot);

it++;
}

}


error C2061: syntax error : identifier 'list'
error C2065: 'list' : undeclared identifier
error C2275: 'CString' : illegal use of this type as an expression
error C2275: 'CString' : illegal use of this type as an expression
error C2065: 'filePathList' : undeclared identifier
error C2448: '<Unknown>' : function-style initializer appears to be a function definition

我是用VC6.0编译器的,请大家指点
...全文
112 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2013-09-12
  • 打赏
  • 举报
回复
引用 9 楼 a307871404 的回复:
倒代码中不能加颜色 , 是这个括号错误 CTreeCtrl & nTreeCtrl=((CMyTreeView*)(((CMainFrame*)AfxGetMainWnd())->m_SplitterWnd.GetPane(0,0)))->GetTreeCtrl();
我一般不会写这样代码,阅读性太差,! 分多条语句执行比较好点!
sky_163 2013-09-12
  • 打赏
  • 举报
回复
倒代码中不能加颜色 , 是这个括号错误 CTreeCtrl & nTreeCtrl=((CMyTreeView*)(((CMainFrame*)AfxGetMainWnd())->m_SplitterWnd.GetPane(0,0)))->GetTreeCtrl();
sky_163 2013-09-12
  • 打赏
  • 举报
回复
引用 7 楼 max_min_ 的回复:

 CTreeCtrl & nTreeCtrl= (((CMyTreeView*)(((CMainFrame*)AfxGetMainWnd())->m_SplitterWnd.GetPane(0,0)))->GetTreeCtrl());
这样试试吧!如果还不行的话,多分几条语句写吧!
不行哦 ,不过经过调试发现编译器提示的红色标记的括号错误,但是无论我把这个括号放到哪个位置都提示错误
CTreeCtrl & nTreeCtrl=((CMyTreeView*)(((CMainFrame*)AfxGetMainWnd())->m_SplitterWnd.GetPane(0,0)))->GetTreeCtrl();  
max_min_ 2013-09-12
  • 打赏
  • 举报
回复

 CTreeCtrl & nTreeCtrl= (((CMyTreeView*)(((CMainFrame*)AfxGetMainWnd())->m_SplitterWnd.GetPane(0,0)))->GetTreeCtrl());
这样试试吧!如果还不行的话,多分几条语句写吧!
sky_163 2013-09-12
  • 打赏
  • 举报
回复
CTreeCtrl & nTreeCtrl=((CMyTreeView*)(((CMainFrame*)AfxGetMainWnd())->m_SplitterWnd.GetPane(0,0)))->GetTreeCtrl(); 
error C2059: syntax error : ')' 这句话提示这个错误 到底是哪个括号有问题,调了20分钟都调不出来
sky_163 2013-09-12
  • 打赏
  • 举报
回复
明白了 ,原来是个类的一变量。。。CTreeCtl
sky_163 2013-09-12
  • 打赏
  • 举报
回复
就是不知道怎么申明这个类型。。。
max_min_ 2013-09-12
  • 打赏
  • 举报
回复
引用 2 楼 a307871404 的回复:
[quote=引用 1 楼 healer_kx 的回复:] #include <list> using namespace std;
根据你的提示 刚刚的错误没了 ,但有新的错误提示麻烦帮我看看 error C2065: 'CMyTreeView' : undeclared identifier[/quote]

CMyTreeView 
//这里类型有前置申明么? 看错误是为定义行为呢
sky_163 2013-09-12
  • 打赏
  • 举报
回复
引用 1 楼 healer_kx 的回复:
#include <list> using namespace std;
根据你的提示 刚刚的错误没了 ,但有新的错误提示麻烦帮我看看 error C2065: 'CMyTreeView' : undeclared identifier
healer_kx 2013-09-12
  • 打赏
  • 举报
回复
#include <list> using namespace std;

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧