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

[轉載]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 閱讀(2322) 評論(0)  編輯 收藏 引用 所屬分類: Computer Science

<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

常用鏈接

留言簿(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>
            久久五月婷婷丁香社区| 欧美好骚综合网| 亚洲免费网址| 国产麻豆9l精品三级站| 久久精品一区蜜桃臀影院 | 亚洲一区二区三区视频播放| 亚洲国产精品日韩| 欧美风情在线| 亚洲在线视频观看| 欧美一区二区三区四区视频| 国产欧美日韩亚洲一区二区三区 | 亚洲成色www久久网站| 欧美电影在线| 欧美日韩在线直播| 久久久国际精品| 免费日韩成人| 亚洲欧美在线网| 久久嫩草精品久久久精品| 日韩一级成人av| 欧美一级视频精品观看| 亚洲黄色av| 亚洲午夜精品网| 亚洲国产精品va在看黑人| 夜夜嗨av一区二区三区四季av| 国产欧美日韩91| 欧美激情欧美激情在线五月| 欧美三级电影精品| 男人的天堂亚洲| 国产精品成人在线| 亚洲承认在线| 国产日韩欧美综合在线| 亚洲精品国产精品国自产观看| 国产精品一区二区三区观看 | 久久er精品视频| 欧美高清在线视频观看不卡| 欧美在线高清| 欧美日韩国产专区| 老鸭窝毛片一区二区三区| 欧美日韩视频在线| 麻豆91精品91久久久的内涵| 国产精品国产自产拍高清av| 欧美大尺度在线| 国语自产精品视频在线看| 一个色综合导航| 亚洲黄色三级| 久久久www成人免费毛片麻豆| 亚洲一区二区三区色| 欧美黄色一级视频| 免费在线观看成人av| 国产日本亚洲高清| 亚洲午夜久久久久久尤物| 亚洲精品在线二区| 美国成人直播| 老司机亚洲精品| 黄色亚洲大片免费在线观看| 亚洲欧美激情视频| 亚洲欧美日韩精品| 欧美日一区二区在线观看| 亚洲精品1区2区| 亚洲黄色av| 欧美91福利在线观看| 欧美高清hd18日本| 亚洲国产成人久久综合| 久久久久久九九九九| 久久免费99精品久久久久久| 国产日韩欧美三级| 午夜精品在线视频| 久久精品国产综合精品| 国产欧美日韩视频| 性久久久久久| 久久蜜桃精品| 136国产福利精品导航| 久久久久久自在自线| 欧美成人国产一区二区| 91久久中文字幕| 欧美日韩裸体免费视频| 一区二区成人精品| 久久国产88| 悠悠资源网亚洲青| 另类综合日韩欧美亚洲| 欧美黄色网络| 亚洲一级免费视频| 国产精品一区久久久久| 欧美一区二区三区四区在线观看地址 | 欧美四级在线观看| 亚洲女与黑人做爰| 久久久美女艺术照精彩视频福利播放| 国产一区二区三区av电影| 久久久www成人免费毛片麻豆| 免费欧美在线视频| 夜夜嗨av一区二区三区网站四季av| 欧美日韩免费观看一区三区| 亚洲欧美国产高清va在线播| 久久全球大尺度高清视频| 亚洲精品美女91| 国产精品久久77777| 欧美影院精品一区| 91久久国产综合久久91精品网站| 亚洲系列中文字幕| 在线播放一区| 国产精品草草| 久热这里只精品99re8久| 日韩亚洲精品电影| 久久一区二区三区国产精品| 一区二区三区 在线观看视| 国产欧美一区二区精品性| 快she精品国产999| 亚洲欧美在线视频观看| 亚洲精品激情| 久久综合九色综合欧美狠狠| 亚洲色图自拍| 亚洲第一二三四五区| 国产精品一区二区三区久久| 欧美激情1区2区3区| 欧美一区二区精品久久911| 亚洲日本va在线观看| 久久午夜电影网| 亚洲一区久久久| 亚洲欧洲三级| 狠狠色狠狠色综合日日tαg| 欧美日韩一区二区国产| 欧美成人亚洲成人| 久久久久天天天天| 欧美一区二区女人| 一区二区三区av| 亚洲精品网址在线观看| 欧美丰满少妇xxxbbb| 欧美中文在线观看| 亚洲一区网站| 夜夜嗨av一区二区三区| 亚洲精品久久嫩草网站秘色| 国产综合欧美| 国产热re99久久6国产精品| 国产精品扒开腿爽爽爽视频| 欧美激情一区在线观看| 米奇777在线欧美播放| 久久久久久久999| 久久精品电影| 久久国产主播| 欧美一区二区视频免费观看| 欧美亚洲综合久久| 午夜免费在线观看精品视频| 在线视频一区二区| 亚洲一区二区三区四区在线观看| 99亚洲一区二区| 亚洲视频在线看| 亚洲午夜高清视频| 亚洲综合精品一区二区| 午夜精品久久久久久久白皮肤| 亚洲一区视频在线观看视频| 这里只有精品在线播放| 亚洲深夜福利在线| 亚洲综合色激情五月| 亚洲欧美激情四射在线日| 香蕉免费一区二区三区在线观看| 欧美一区二区三区视频免费| 久久精品亚洲一区| 久久尤物视频| 欧美日韩国产免费观看| 国产精品v日韩精品| 国产欧美精品一区二区色综合| 国产精品资源在线观看| 激情另类综合| 亚洲美女福利视频网站| 亚洲视频第一页| 欧美影院在线| 你懂的视频一区二区| 亚洲精品麻豆| 亚洲欧美国产视频| 久久亚洲色图| 欧美日韩国产小视频| 国产片一区二区| 在线播放日韩专区| 中文在线不卡视频| 久久精品国产999大香线蕉| 欧美大片在线观看| 一区二区三区四区在线| 香蕉av福利精品导航| 欧美国产日产韩国视频| 国产精品视频久久| 亚洲欧洲视频在线| 午夜欧美精品| 女人色偷偷aa久久天堂| 夜夜狂射影院欧美极品| 久久蜜桃资源一区二区老牛 | 国产欧美日韩一级| 亚洲欧洲在线播放| 欧美中文字幕不卡| 亚洲人成在线免费观看| 欧美一级网站| 欧美午夜无遮挡| 在线免费观看成人网| 亚洲欧美亚洲| 亚洲精品久久久蜜桃| 久久久精品网| 国产精品视频不卡| 亚洲一区二区动漫| 亚洲电影天堂av| 久久视频一区二区| 国产日韩在线一区|