zoukankan      html  css  js  c++  java
  • VS2010 C++ 几个常见低级错误

    好久没有用C++写程序了,为了忘切的记过,在此简单记记在程序调试过程一些小问题。

    1、“=”: 无法从“const char [XX]”转换为“LPCWSTR”

    如果程序在VC6.0调试没有问题,而到了VS却出现这个问题。

    那么有两种解决办法:

    1)、工程使用的字符集
    在vs中做如下修改:
    project->xxx property(左边树形的Configuration properties|General)-> 右边的(Character Set) 改为(Use Multi-Byte Character Set)

     2)、字符和字符串都要用wchar_t不能使用char,并且要使用L来定义字符串常量 

     VS默认使用的是Unicode,也就是所有的字符和字符串都要用wchar_t不能使用char,并且要使用L来定义字符串常量,比如:wchar_t wstr[] = L"宽字符";

    在VC中最好使用_T()宏,和TCHAR,用它们可以在有Unicode和没有Unicode的程序中自动转换是否为宽字符

    2、无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

    这个问题表明你新建的是一个main类型函数(控制台程序),而你的程序中有窗口程序,显然是个win32函数,解决方法:
    项目-属性-链接器-系统-子系统-把控制台该为windows
    1)、 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.
    2)、 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。
     

  • 相关阅读:
    剑指Offer-49.把字符串转换成整数(C++/Java)
    codeforces Gym 100338H High Speed Trains (递推,高精度)
    codeforces Gym 100338E Numbers (贪心,实现)
    codeforces Gym 100338C Important Roads (重建最短路图)
    HDU 4347 The Closest M Points (kdTree)
    UVA 10817
    HDU 4348 I
    HDU 4341 Gold miner (分组背包)
    UVA 1218
    UVA 1220 Party at Hali-Bula (树形DP)
  • 原文地址:https://www.cnblogs.com/cgli/p/2351201.html
Copyright © 2011-2022 走看看