
编译错误
bai_lu_sz
这个作者很懒,什么都没留下…
展开
-
warning C6302: Format string mismatch: character string passed as parameter '4' when wide character
LPCWSTR char2LPCWSTR(char* c_temp, WCHAR* temp /*= temp_wchar */){ wmemset(temp, 0, MAX_PATH); swprintf_s(temp, MAX_PATH, L"%s", c_temp); return temp;}报了个warning 查msdn如下: warnin原创 2012-12-11 09:51:43 · 1115 阅读 · 0 评论 -
error C2110: '+' : cannot add two pointers
c++ std stringstring str = "hello" + " hi";这个就会报错 因为这是两个const char*在操作 而 const char* 没有 + 操作符可以改成string a = "hihi ";str = a + "hello" + " hi";小细节http://zhidao.bai原创 2012-12-19 11:27:25 · 3715 阅读 · 0 评论 -
#pragma warning
预编译指令#pragma有很多种用法,我敢保证很多程序员即使是一辈子也不会碰到其中的有些用法,是的,他们的确很偏僻,我们也没有用他们的需求。所以,本文不会面面俱到,只是把几种常用的几种汇总了一下。1. #pragma once保证头文件只被include一次,等同于 #ifndef _X_H #define _X_H...#endif //_X_H2.#prag转载 2012-12-11 12:41:55 · 3225 阅读 · 0 评论 -
UNREFERENCED_PARAMETER
UNREFERENCED_PARAMETER的作用(转http://blog.youkuaiyun.com/apunix/article/details/2043945)我们从 UNREFERENCED_PARAMETER 开始吧。这个宏在 winnt.h 中定义如下: #define UNREFERENCED_PARAMETER(P) (P) 换句话说 UNREFERENCED_PARAM转载 2012-12-11 13:07:42 · 594 阅读 · 0 评论 -
编译警告级别之重要性
前 言作为程序员不但要会编程,还要编好程,即编写高质量的程序。评价程序质量的指标有很多(正确性、可靠性、有效性、可扩展性、可维护性……),用于保证软件质量的方法和技巧也非常多。本篇只讲述在编码阶段,如果通过设置编译警告级别来提高程序的质量,其目的是减少程序错误、提高程序的可维护性,进而提高软件开发效率。为了达到这个目的程序员需要:在编译程序时将编译警告级别调至最高级别!下面主要以VC++转载 2012-12-11 13:06:04 · 1393 阅读 · 0 评论 -
c4189
C4189就是说 变量初始化了 但是没有使用#pragma warning(push)#pragma warning(disable : 4189)...#pragma warning(pop) 我在代码里使用了这种方式来屏蔽C4189,但都没效果 查msdn也查不到我使用的环境是vs2010sp1,本地msdn上没有C4189,查在线msdn发现没有vs2010的C原创 2012-12-11 12:38:30 · 1056 阅读 · 0 评论 -
warning C6001: Using uninitialized memory 'ul_next': Lines: 21, 23, 25, 27
由于使用了未初始化的本地变量导致了这个报警 msdn:warning C6001: using uninitialized memory This warning is reported when an uninitialized local variable is used before it is assigned a value. This could lead原创 2012-12-11 10:29:33 · 2394 阅读 · 0 评论 -
warning C6273: Non-integer passed as parameter '4' when integer is required in call to 'sprintf_s':
char c_array[20] = {0};double double_value = 3.5;sprintf_s(c_array, MAX_PATH, "%ld", double_value);出现警告: warning C6273: Non-integer passed as parameter '4' when integer is required in call to 's原创 2012-12-11 10:20:49 · 2561 阅读 · 0 评论 -
编译报错:"error C2220: warning treated as error - no 'object' file generated"的解决办法
解决的办法是:将警告级别设置为低 或者 关闭将警告视为错误原创 2012-12-11 10:52:49 · 3273 阅读 · 0 评论 -
warning C6031: Return value ignored: 'GetLastError'
#ifdef _M_CEE_PURE#define GetLastError System::Runtime::InteropServices::Marshal::GetLastWin32Error#elseWINBASEAPI__checkReturnDWORDWINAPIGetLastError( VOID );#endif 返回参数原创 2012-12-11 10:06:20 · 2350 阅读 · 0 评论 -
c++错误之string C2679
error C2679: 二进制“+”: 没有找到接受“std::string (__cdecl *)(void)”类型的右操作数的运算符(或没有可接受的转换) 看到解释仔细读一下就会发现: 他说的是: 操作符"+"的右操作数的类型和函数指针不匹配. 仔细看不难发现后面接着是函数指针 现象:msg = msg + get_current_date;而我的get_curren原创 2013-04-28 15:18:18 · 2151 阅读 · 0 评论