zoukankan      html  css  js  c++  java
  • 关于学校古老的作业

    本文旨在解决做作业中遇到的莫名其妙的错误。

    本文包含VS和VC++6一些差别上的处理

    1. 调用scanf()报错:

    Severity Code Description Project File Line Suppression State
    Error C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. HW_datastruct c:usersyusource eposhw_datastructhw_datastructmain.cpp 39

    如日志所述:这个函数不安全,请使用scanf_s代替。如果实在要使用,请使用 _CRT_SECURE_NO_WARNINGS 禁用该警告。

    由于我们只是做作业,所以直接禁用是最好的。由于使用了#define预处理指令,所以这个禁用语句不会使 不支持该语句的编译器 报错,如gcc MSVC6++内置的cl编译器

    解决方案:在文件最顶部使用

    #define _CRT_SECURE_NO_WARNINGS

    禁用该警告。

    2. 关于#include "sqlist.cpp"

    首先,引号表示优先在当前目录搜索

    所以:把sqlist.cpp放在同目录下,再打开含main()的cpp源文件  【此时IDE会自动检测并添加sqlist.cpp到依赖里】

    如果已经把sqlist添加到了源文件而非依赖区,右击改文件——从项目排除

     VS(VC++6) 通用,不会有LNK2005报错。

    关于此处的LNK2005分析:应该是mian()中include了sqlist,正常情况下sqlist就不需要编译,但由于缺乏认知,我把sqlist添加到了 工程源文件Source Files(这个是会被IDE直接编译的)

    所以导致了main编译完成后再编译sqlist,

    而"main中include的部分" 是和main一起编译链接并生成main.exe的,所以才会提示main.obj里和sqlist冲突

    --------蓝天上的云_转载请注明出处.
  • 相关阅读:
    当数据库结构改变时,需要将数据库删除再创建
    命名空间“System.Web.Mvc”中不存在类型或命名空间“Ajax”(是否缺少程序集引用?)
    jqGrid 各种参数 详解
    二维数组最小路径和
    动态规划:最大连续子序列和
    最长递增子序列
    java单例模式的几种实现
    java多线程的实现方法
    sleep与wait的区别
    数组旋转
  • 原文地址:https://www.cnblogs.com/yucloud/p/10523545.html
Copyright © 2011-2022 走看看