青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

[轉載]VC++常見錯誤

Visual C++ Error Messages

This page contains a listing of "difficult to diagnose" error messages and possible fixes. I haven't taught a programming class that uses Visual C++ in several years so this list is probably out of date by now.  It was valid for Microsoft Visual C++ version 6.0 service pack 3.

 

C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technical Support help file for more information

This error results from leaving off the parentheses immediately following the function name in a function header.  To correct the error simply add () to the end of the function name.

 

C1010: unexpected end of file while looking for precompiled header directive

If your project is an MFC AppWizard created project then this error results from not #including StdAfx.h as the first include statement (before any other includes, data declarations, or executable program code).

 

C1083: Cannot open precompiled header file: 'Debug/<Project-Name>.pch': No such file or directory

This error results from a missing file - the compiled version of StdAfx.cpp. Visual C++ does a poor job of keeping track of this file and frequently "forgets" how to build it. This problem often occurs after restoring a saved workspace from diskette without the Debug directory. To fix the error select StdAfx.cpp from the workspace file list them choose Compile from the Build menu.  If that doesn't work the go to Project -> Settings, select the C/C++ tab, and click the radio button labeled Create Precompiled Headers.

 

C2001: newline in constant

This error is usually caused by a string or character constant that is missing its closing ' or " symbol.

C2065: '<data-member name>' : undeclared identifier

If this error occurs in one of your member functions then it is generally the result of forgetting the class scope operator in front of the function name in your .cpp file.

 

C2143: syntax error : missing ';' before 'PCH creation point'

Check each of the include files to ensure that the closing brace of each class declaration is followed by a semicolon.

 


C2143: syntax error : missing ';' before '*'

If this error is followed by two C2501 errors then the problem is an undeclared class name within a pointer declaration.

For example, the declaration:

CClass *pObject;

will generate the above error message followed by a C2501 error message for 'CClass' and another C2501 message for 'pObject'.  The problem is that the compiler isn't recognizing CClass as a valid class/type name.  To correct the problem add a i nclude of the file containing the declaration of CClass (e.g., i nclude CClass.h)

 

C2447: missing function header (old-style formal list?)

This error usually results from a missing { or use of a ; instead of a { following the parameter list of a function header.

 

C2511: '<function-name>' : overloaded member function not found in '<class-name>'

This error results from a mismatch in the parameter list of a member function declaration (.h file) and definition (.ccp file). Check the forward declaration of the function in the .h file and its definition in the .cpp file and ensure that the number of parameters and the type of each parameter match exactly.

C2512: '<constructor-function-name>' : no appropriate default constructor available

This error usually occurs when you implement the constructor function of a derived class and forget to include parameter passing to the base class constructor function.   For example assume that CDerived is derived from CBase and that the CBase constructor function requires one parameter (e.g., int A).  If you define the CDerived constructor function as:

CDerived::CDerived(int A, int B) { ... }

the compiler will issue the above error message on the line containing the function header of CDerived::CDerived() because you haven't provided instructions for routing the parameter A to CBase::CBase().  Because you didn't provide instructions the compiler assumes that CBase::CBase() requires no arguments and it complains because no version of CBase::CBase() has been defined that accepts zero arguments.

If you intended to provide a version of CBase::CBase() that requires no arguments then the error message indicates that you forgot to declare that function in your base class declaration (e.g., in CBase.h).

If CBase::CBase() does require one or more arguments then you must correct the problem by including explicit instructions for passing parameters from the derived class constructor function to the base class constructor function.  The correction for the example above is:

CDerived::CDerived(int A, int B) : CBase(A) { ... }

 

C2556: '<function-name>' : overloaded functions only differ by return type
C2371: '<function-name>' : redefinition; different basic types

These errors usually result from a mismatch of function type between a .h and .cpp file. Check the forward declaration of the function in the .h file and its definition in the .cpp file and make the function return type identical in both files.

 

C2601: '<function-name>' : local function definitions are illegal

This error results from defining one function inside the body of another function.   It usually means that you omitted one or more } symbols in the function just before the function named in the error message.

C2653: '<Class-Name>' : is not a class or namespace name

This error usually results from not having include "StdAfx.h" as the first include statement in your class.cpp file.  It can also occur if your class definition is in a .h file and you forget to include that .h file in another file that refers to the class name.

 

C2661: '<Class-Name>::<Function-Name>' : no overloaded function takes n parameters

This error indicates a mismatch between the parameters used in a function call (e.g., from main.cpp) and the declaration of the function.  The function call is passing n parameters and there is no function declaration that uses that number of parameters.

 

LNK1104: Cannot open file nafxcwd.lib

This error sometimes occurs when a project uses a class from the MFC but the project settings don't explicitly tell the link editor to look in the MFC libraries. 

Go to Project --> Settings (Build --> Settings in Visual C++ 4.0). On the General tab check the box that says "Use MFC in a Shared DLL".

 

LNK1168: cannot open Debug\<Project-Name>.exe for writing

This error occurs when the link editor attempts to write to a .exe file that is currently in use. The .exe file of an executing program is write protected until the program is terminated. Look at the status bar at the bottom of your screen and find the icon representing your executable application. Open the application and exit from it. Then select Build.

 

LNK2001: unresolved external symbol __endthreadex
LNK2001: unresolved external symbol __beginthreadex

These errors result from using an MFC object or function without telling the link editor to search the MFC libraries.

Go to Project --> Settings (Build --> Settings in Visual C++ 4.0). On the General tab check the box that says "Use MFC in a Shared DLL".

LNK2001: unresolved external symbol _main

Your project doesn't contain a function called main().  The error usually results from forgeting to add main.cpp to the project workspace.

 

<File>.obj : error LNK2001: unresolved external symbol "public: void __thiscall <Class1>::<Function1>(<Type>)"

This a generic form of a LNK2001 error where <File>.obj can be any object file in your project and <Class1>::<Function1>(<Type>) can be any function in any class.  Substitute the specific <File>, <Class>, <Function>, and <Type> in your message into the instructions below to diagnose and correct the problem.

An LNK2001 error means that the link editor is looking for a compiled function and can't find it.  The call to the "missing function" is somewhere in <File>.cpp. Unfortunately, double-clicking on the error message won't take you to the point in <File.cpp> where the function is called but you can search for it with Find or Find In Files.  The function the link editor can't find is a member of <Class>, its name is <Function1>, and its return type is <Type>.

There are two common reasons for a LNK2001 error:

1.        The call in <File>.cpp doesn't match the function prototype in <Class>.h and/or the implementation in <Class>.cpp.  The mismatch may be in the function name, return type, or number and/or type of parameters.   Correction strategies include:

o        Check that the function name is spelled the same (case sensitive) in all three files (File.cpp, Class.h, and Class.cpp).

o        Check that the function is actually declared and defined within <Class> - perhaps you defined it as a member of a different class or perhaps you tried to call the function (in <File>.cpp) using an object or object pointer of a different class.

o        Check that the number and type of parameters in the function implementation (in <Class>.cpp) matches the number and type of parameters declared in the function declaration in <Class>.h.

o        Check that the number and type of parameters in the function call (in <File>.cpp) matches the number and type of parameters declared in the function header in <Class>.cpp.

2.        The function was never declared or was declared but never defined.  To see if either is the case go to the ClassView window of the Workspace view.  Click the + next to <Class> and find <Function> in the list of member functions.

o        If <Function> is NOT in the list then it was never declared or defined - add a declaration to the class declaraion in <Class>.h and implement the function in <Class>.cpp.

If <Function> is in the list then right click on it and select Go To Definition from the pop-up menu.  If you get the error message Cannot find definition (implementation) of this function then the function was declared but never defined (implemented).  Implement the function to

o        <Class>.cpp.

 

LNK2005: <some-long-string-of-mostly-garbage> already defined in <name>.lib(<name>.obj)

This error usually results from including a source code file multiple times. If you recognize any of the names in the message then it probably results from multiple inclusion of one of your own header files. Check to be sure that you've used #ifndef/#define/#endif properly your header files. If you don't recognize the name then it's probably multiple inclusion of a system file (e.g., afxwin.h). Make sure that you haven't explicitly included something in main.cpp that is already included in one of your own header files.   Also check that you haven't included a .cpp file where you should have included a .h file

posted on 2007-04-15 21:24 ashura 閱讀(2320) 評論(0)  編輯 收藏 引用 所屬分類: Computer Science

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品一区二区三区蜜桃 | 一区国产精品| 亚洲精品国产精品乱码不99 | 国内精品视频在线播放| 欧美日韩岛国| 亚洲少妇中出一区| 一区二区欧美亚洲| 国产精品video| 国产精品伦理| 午夜免费在线观看精品视频| 日韩一级欧洲| 亚洲一区二区欧美| 国产精品你懂得| 狠狠色综合播放一区二区| 亚洲国产成人久久| 洋洋av久久久久久久一区| 国产精品网站在线播放| 久久三级视频| 久久精品国产v日韩v亚洲 | 欧美成ee人免费视频| 久久亚洲国产精品日日av夜夜| 亚洲免费观看高清完整版在线观看熊 | 老司机免费视频一区二区| 亚洲午夜精品一区二区三区他趣| 亚洲社区在线观看| 久久亚洲国产精品一区二区 | 亚洲黄色有码视频| 亚洲制服少妇| 国产精品日本欧美一区二区三区| 久久久久久久久久久一区 | 亚洲欧美国产日韩中文字幕| 亚洲成人在线视频网站| 亚洲国产日韩精品| 久久亚裔精品欧美| 国产精品成人国产乱一区| 欧美一级黄色录像| 免费成人你懂的| 国产日产精品一区二区三区四区的观看方式| 亚洲欧美一区二区原创| 亚洲精品久久久久久下一站| 午夜精品久久久久久久| 99re热这里只有精品免费视频| 亚洲视频一区二区在线观看| 1769国产精品| 久久国产精品亚洲77777| 毛片av中文字幕一区二区| 亚欧成人在线| 亚洲欧美日韩国产精品| 国产精品每日更新| 黄色国产精品| 久久手机精品视频| 鲁大师成人一区二区三区| 国产午夜精品福利| 久久免费观看视频| 美女亚洲精品| 亚洲砖区区免费| 久久精品成人| 亚洲免费大片| 亚洲国产婷婷综合在线精品| 亚洲欧洲在线一区| 亚洲乱亚洲高清| 国产精品一区二区女厕厕| 国内精品久久久久影院色| 欧美+日本+国产+在线a∨观看| 亚洲精品久久久久久一区二区| 日韩一级欧洲| 韩国成人精品a∨在线观看| 亚洲第一福利视频| 国产精品无码永久免费888| 欧美国产精品日韩| 国内精品视频一区| 欧美一区二区三区视频免费| 毛片基地黄久久久久久天堂| 西瓜成人精品人成网站| 欧美国产1区2区| 久久亚洲高清| 激情久久久久| 久久免费视频这里只有精品| 午夜视频在线观看一区二区| 欧美日韩精品一区二区在线播放| 亚洲电影视频在线| 久久久综合精品| 亚洲国产综合在线| 欧美91大片| 亚洲人成久久| 亚洲激情电影中文字幕| 在线日本成人| 99国产精品久久久久老师| 99re66热这里只有精品4| 国产精品久久7| 午夜综合激情| 欧美成人免费va影院高清| 亚洲卡通欧美制服中文| 国产精品乱码人人做人人爱| 亚洲一区二区欧美| 国产精品自拍网站| 久久精品99无色码中文字幕| 欧美国产日韩一区二区在线观看| 欧美va亚洲va日韩∨a综合色| 91久久精品国产91性色tv| 久久先锋影音| 亚洲天堂成人在线观看| 国产精品手机视频| 久热国产精品视频| 一级成人国产| 在线观看亚洲| 国产亚洲一区二区三区在线播放| 久久人人97超碰人人澡爱香蕉| 欧美大片在线观看一区二区| 亚洲精品看片| 久久综合色天天久久综合图片| 欧美精品日韩一本| 久久不射中文字幕| 在线亚洲欧美| 一区二区日韩欧美| 亚洲欧洲免费视频| 亚洲国产电影| 亚洲高清资源| 欧美成人嫩草网站| 欧美激情网友自拍| 亚洲高清久久| 亚洲成人资源| 亚洲免费播放| 一区二区三区视频免费在线观看| 亚洲国产中文字幕在线观看| 国产视频欧美视频| 激情文学一区| 亚洲三级免费电影| 日韩视频免费观看高清在线视频 | 国产精品实拍| 午夜精品免费在线| 亚洲精品久久7777| 亚洲一区二区精品在线观看| 亚洲视频导航| 久久久久久久高潮| 欧美日韩国产在线看| 国产欧美一二三区| 在线观看日韩精品| 亚洲一区网站| 亚洲电影一级黄| 亚洲欧美日韩国产成人精品影院 | 亚洲国产99精品国自产| 国产精品午夜久久| 亚洲第一精品在线| 一区二区精品国产| 久久亚洲春色中文字幕| 亚洲欧洲三级电影| 欧美一区亚洲| 亚洲乱码一区二区| 欧美福利电影网| 激情五月婷婷综合| 欧美自拍丝袜亚洲| 日韩视频中文| 美女被久久久| 亚洲欧美伊人| 国产欧美一区二区三区沐欲| 一本一本久久a久久精品综合妖精| 国产中文一区二区| 欧美性久久久| 亚洲一区不卡| 一区二区三区福利| 欧美精品乱码久久久久久按摩| 久久成人国产精品| 国产精品午夜春色av| 久久成人免费电影| 欧美日韩视频第一区| 日韩亚洲精品电影| 香蕉乱码成人久久天堂爱免费| 欧美综合国产| 亚洲欧美电影院| 久久久99免费视频| 久久精品国产清自在天天线| 久久国产色av| 午夜久久tv| 久久久久欧美| 久久亚洲综合色一区二区三区| 欧美大片在线观看| 亚洲国产精品99久久久久久久久| 欧美黑人在线播放| 亚洲性视频h| 欧美特黄视频| 久久久999精品| 欧美日韩国产高清| 香蕉视频成人在线观看 | 翔田千里一区二区| 欧美在线观看一区| 欧美亚洲三区| 91久久国产综合久久蜜月精品 | 欧美在线一级va免费观看| 久久欧美中文字幕| 国产午夜久久| 亚洲精品午夜| 久久综合九色| 久久精品国产亚洲高清剧情介绍| 日韩亚洲欧美中文三级| 看欧美日韩国产| 国产欧美精品一区| 午夜精品久久久久久久白皮肤 | 欧美日韩一区二区精品| 美国三级日本三级久久99|