zoukankan      html  css  js  c++  java
  • VC学习笔记常见错误调试

    fatal error C1083

    问题描述:无法打开包括文件:“iostream.h”: No such file or directory
    解决方案:应该写成<iostream>
    • 在VC2010上面采用C++风格的头文件而不是C风格的头文件,除非你是在用C。
    • 所有的C++库在std命名空间中定义:using namespace std;
    • 标准头文件:#include <some_file.h>
    • 用户自定义头文件:#include "my_file.h"
    C头文件
    可以继续使用
    C++ 
    (C++98后取消)
    C++ 98 ("c"开头,去掉".h"后缀)
    建议使用
    stdio.h 
    iostream.h
    <iostream>
        <cstdlib>
        <cstdio> 
    assert.h   <cassert>

    C2144

    问题描述:int should be preceded by :

    解决方案:这个是从C#转C++遇到的一个问题。

    C# 语法是这样的:
    public int read();
    c++语法是这样的:
    public:
    int read();
     

    error C2664

    问题描述:“MessageBoxW”: 不能将参数 2 从“const char [17]”转换“LPCWSTR” 

    解决方案:字符集问题,项目-->Properties-->Configuration Properties-->Character Set=Unicode

    warning C4996

    问题描述:warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    解决方案:这是因为VC从2005版本开始,微软引入了一系列的安全加强的函数来增强CRT(C运行时),这里对应的是strcpy_s。_s意为safe的意思,同样的道理,strcat也是同样。因此要解决这个问题,我们可以用strcpy_s来替换strcpy,但是注意strcpy_s并非所有编译器都提供,因此如果要跨编译器,请采用错误信息中所提示的方式,定义_CRT_SECURE_NO_WARNINGS宏来掩耳盗铃吧。另外注意并非所有的加强函数都是在屁股后面加_s,比如stricmp这个字符串比较函数的增强版名字是_stricmp。下面,用strcpy_s来更改程序:
     

    error LNK2001

    问题描述:unresolved external symbol _mainCRTStartup 
    解决方案:没有定义main函数

    error LNK2019

    问题描述:无法解析的外部符号 __imp__InternetGetCookieA@16 ,该符号在函数 "void __cdecl MySend(unsigned int)" (?MySend@@YAXI@Z) 中被引用(其他类似的错误也一样)
    解决方案:应该是你用到了一个库函数,但是你的项目没有把它的库加进去。项目 --> 属性 --> 链接器 -->  输入 --> 附近依赖项 填入你使用到的库
  • 相关阅读:
    Java面试——VUE2&VUE3概览
    Golang 面试笔录
    数据科学完整流程概述
    周志华 机器学习 西瓜书 主要符号表
    数据分析师的发展方向?
    404 GET /nbextensions/jupyter-js-widgets/extension.js
    如何使用Conda源快速安装PyTorch?
    美化React组件之CSS Modules
    react如何全局配置sass
    nuxt api缓存,组件缓存,页面缓存
  • 原文地址:https://www.cnblogs.com/dalianliyan/p/3053687.html
Copyright © 2011-2022 走看看