就是写程序时自动出现的类中的函数、成员以及写函数时出现的参数表。这些东西非常方便,也非常有用。不过有的时候它不起作用。(排除名称不对的情况。)刚刚还碰上一个,明明2行前还能用呢,突然就不行了,就算强制让它显示parameter info 也没用。于是只好自己打,编译,运行都是好好的。(明明也没有用错)我想知道具体什么情况下VC的自动完成功能会不起作用???谢谢。

解决方案 »

  1.   

    在什么情况下不会起作用,不知道,不过一定是系统的BUG解决方法就是把工程目录里的.aps,.ncb删掉,就可以用了,保用保灵
      

  2.   

    在什么情况下不会起作用,不知道,不过一定是系统的BUG解决方法就是把工程目录里的.aps,.ncb删掉,就可以用了,保用保灵
      

  3.   

    你把工程关掉,然后删除*.NCB文件,重新打开就可以了
      

  4.   

    在JAVA中,有关对JAVA类反射(Reflection)的讲述说到的好象就是这样的功能:通过从class/interface构造出的数据结构知识,是可以完成自动提示的;而编译器也就是依靠(必须依靠)这一点才能正确解释我们的所写的代码的意图。
      这个自动提示当然好处多多,但盖茨却不能忘了作大量的慈善募捐;当是时,他肯定得把什么自动提示全放在脑后才行。不是吗?
      

  5.   

    把*.NCB文件删除肯定是可以的。但是问题的原因是什么呢?请仔细检查这句代码之外的代码,很有可能是语法错误而造成的。我也经常碰见这个问题,一般情况下都是这样子的。还有,不要任意删除系统自动添加的一些注释!这些垃圾还是有些用途的。
      

  6.   

    本人水平比较差,不知道aps,ncb都有什么作用,不过我可知道这种方法很麻烦!:)问题在于不是所有时候都有问题啊。比如现在程序好了,但自动完成功能还是没有好。比如就现在在这个函数中void CDataView::OnContextMenu(CWnd* pWnd, CPoint point)
    {
    // TODO: Add your message handler code here
    CMenu menu;
    menu.LoadMenu(IDR_MENU1); CMenu* pmenu=menu.GetSubMenu(0);
    if(nSelect == -1)
    {
    pmenu->EnableMenuItem(ID_CONTEXT_EDIT, MF_DISABLED | MF_GRAYED);
    pmenu->EnableMenuItem(ID_CONTEXT_DELETE, MF_DISABLED | MF_GRAYED);
    }
    pmenu->TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON,
    point.x, point.y, this);
    }
    在pmenu->TrackPopupMenu这行就没有自动完成了,没有类成员函数,打完括号后也没有参数帮助。但就刚才上面那行pmenu->EnableMenuItem的时候还什么都是好好的。而且在这个函数中写GetDocument()->函数有参考,->后无参考,在这个文件中另一个函数void CDataView::OnUpdateContextEdit(CCmdUI* pCmdUI)中GetDocument()->情况一样。但在这个文件中另一个函数void CDataView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 中GetDocument()->就没有问题,都有参考。上面只是例子,有问题的不是只有这3个函数。而且,事实上,出现问题也不是这么频繁,只不过正好现在就有问题。这好像不是广scb那么简单。:(
      

  7.   

    推荐下载Visual Assist,它是VC的一个插件,可以很好的完成诸如自动完成、颜色标示错误,快速查找定义等。我现在在用。
      

  8.   

    去问问微软的技术支持吧,做visual stdio的支持的,
      

  9.   

    虽然仍然不知道原因,不过开始两位说的很对,删掉。nbc就可以了。结帖
      

  10.   

    以下是从微软知识库中找到的可能的答案,原来是一个bug!!INFO: Limitations of IntelliSense in Visual C++ 6.0
    The information in this article applies to: 
    Microsoft Visual C++, 32-bit Enterprise Edition, version 6.0 
    Microsoft Visual C++, 32-bit Professional Edition, version 6.0 
    Microsoft Visual C++, 32-bit Learning Edition, version 6.0SUMMARYMicrosoft Visual C++ 6.0 introduces IntelliSense as a way to make C++ programming quicker and more efficient. This article provides a list of other articles that focus on the most frequently encountered limitations with IntelliSense. For additional information, please see the following articles in the Microsoft Knowledge Base: 
    Q190968 BUG: IntelliSense limitations with C++ Classes Q190965 PRB: IntelliSense Limitations with #define Macros Q190966 BUG: IntelliSense Limitations with Templates Q190974 PRB: Function Prototypes Do Not Generate Parameter Info Q190975 BUG: Deleting Files from a Project Does Not Update IntelliSense Q190976 PRB: IntelliSense Ignores Unicode/ANSI Versions of the Win32 API Q190973 PRB: IntelliSense Does Not Display Enumerated Elements 
    MORE INFORMATIONIf IntelliSense does not seem to be working, use the following steps to ensure that it is enabled in Visual C++: 
    On the Tools menu, click Options. 
    In the Options dialog box, click the Editor tab. 
    In the Statement Completion group box, make sure the appropriate IntelliSense options are selected.
    REFERENCESAbout Automatic Statement Completion;" Visual C++ Documentation, Using Visual C++, Visual C++ Users Guide, Text Editor, Overview: Text Editor, About Automatic Statement Completion. Automatically Completing Statements;" Visual C++ Documentation, Using Visual C++, Visual C++ Users Guide, Text Editor, How do I ... Topics: Text Editor, Automatically completing Statements.