当前位置: 首页 > news >正文

asp网站生成电商购物平台

asp网站生成,电商购物平台,国家企业信用信息公示系统(官网),网站开发可行性研究报告顾名思义, duplicate symbol是重复符号的意思! 代码是用来做什么的(问题缘由 代码结构) 写排序算法, 提出了一个公共的头文件用来写一些工具方法, 比如打印数组内容. 以便于不同文件代码需要打印数组内容的时候,直接引入相关头文件即可, 但是编译时出现了 duplicate sym…顾名思义, duplicate symbol是重复符号的意思! 代码是用来做什么的(问题缘由 代码结构) 写排序算法, 提出了一个公共的头文件用来写一些工具方法, 比如打印数组内容. 以便于不同文件代码需要打印数组内容的时候,直接引入相关头文件即可, 但是编译时出现了 duplicate symbol 报错. 总共涉及四个文件 ● InsertSort.h, InsertSort.cpp : 插入排序算法实现部分 ● CollectionUtil.h : 数组集合相关工具方法, 如打印数组 ● main.cpp : 输入待排序数组,以及调用排序算法 代码如下 CollectionUtil.h : 数组集合相关工具方法, 如打印数组 #ifndef ALGORITHM_COLLECTIONUTIL_H #define ALGORITHM_COLLECTIONUTIL_H #include iostream using namespace std; void printArray(int size, int a[]) {for (int i 0; i size; i) {cout a[i] ,;}cout endl; }#endif //ALGORITHM_COLLECTIONUTIL_HInsertSort.h, InsertSort.cpp : 插入排序算法实现部分 InsertSort.h #ifndef ALGORITHM_INSERTSORT_H #define ALGORITHM_INSERTSORT_H class InsertSort { public: //折半插入排序 void halfInsertSort(int size, int a[]); };#endif //ALGORITHM_INSERTSORT_HnsertSort.cpp #include InsertSort.h #include iostream #include ../common/CollectionUtil.husing namespace std; /*** 折半插入排序* 新选的比较值, 在与前面排好的有序队列比较的时候, 采取二分思想,找到合适的位置* param size* param a*/ void InsertSort::halfInsertSort(int size, int *a) {// ... 排序算法代码省略 ...printArray(size, a);} }main.cpp : 输入待排序数组,以及调用排序算法 #include sort/InsertSort.h #include common/CollectionUtil.h using namespace std; int main() {int a[] {20, 64, 23, 12, 9, 53, 2,88};InsertSort insertSort;int size sizeof(a) / sizeof (int);// 折半插入排序insertSort.halfInsertSort(size, a);printArray(size, a);return 0; }编译时出现问题,报错如图所示: 解 将ClollectionUtil.h 写一个专门的cpp实现, 里面含有对printArray 全局函数的定义.即可 如改为: ClollectionUtil.h #ifndef ALGORITHM_COLLECTIONUTIL_H #define ALGORITHM_COLLECTIONUTIL_H void printArray(int size, int a[]); #endif //ALGORITHM_COLLECTIONUTIL_H CollectionUtil.cpp #include CollectionUtil.h #include iostream using namespace std; void printArray(int size, int a[]) {for (int i 0; i size; i) {cout a[i] ,;}cout endl; }原因: C中, 多文件编译, 整个横向的跨度上, 对于函数而言, 允许多次声明, 一次定义. 但是不允许多次声明, 多次定义. 代码原来的写法,正是促成了 多次声明多次定义的情况, 是不符合其标准的. 我们需要重新审视一下, #include 在预编译的时候到底做了什么, 过往仅仅是一个单独文件的编译, 我们知道就是把被引入的内容代码进行了全拷贝. 但是为什么编译多个文件的时候, 上述代码多个文件引入了相同的头文件, 头文件里明明做好了 #ifndef #define #undef 之类的保护, 就拷贝那么一次, 为什么还是冲突了呢? 原因在于C编译器,对于文件的编译, 是分开编译的. 虽然说定义一个全局的宏, 是全局可见, 但是编译时由于分开编译, 会导致如图所示: 根据图示, 预处理的时候, 尽管存在ifndef define等宏定义, 但是最终出来的结果是, 全局存在两处 printArray 函数的定义. 不符合标准. 解决办法就是, 把头文件中内容改为只声明printArray()函数, 而不让其有定义, 定义写在cpp文件中, 这样尽管全局会出现多次声明, 但依然符合标准. 总结及扩展 C允许多次声明, 一次定义. 定义指的是,写出具体实现逻辑的方法. C编译的时候会分开编译. C头文件最好不要带函数的定义。
http://www.dnsts.com.cn/news/205468.html

相关文章:

  • 哪个网站开发小程序邯郸做网站的地方
  • 能看的网站给我一个呗大连 网站制作
  • 琼海网站建设公司拼多多刷销量网站开发
  • 购物网站开发的描述电商网站免费设计
  • 昆明网站seo服务中小微企业查询官网
  • 公司网站公司简介外贸原单童装哪个网站做
  • 浙江高端网站汽车装饰网站模板
  • 昆明凡科建站多少钱建设网站是不是必须要服务器
  • 企业网站源码带后台管理网站建设的三种方法
  • 登别的网站应怎么做合肥网络科技有限公司做网站
  • 屏山县建设招标网站wordpress手机适配模板
  • 做外贸密封件的网站蓝色大气网站源码
  • 自己的网站怎么做商城整合营销网站建设
  • 中科 网站会员注册系统建设抖音开放平台是干什么的
  • 有哪些网站可以做家教网页中的基本元素有哪些
  • 佳木斯市郊区建设局网站2023网站分享
  • 如何在网上做网站推广wordpress全屏首页
  • 怎么进入官方网站查询济南软件优化网站建设
  • 海外短视频平台网站大型科技网站建设
  • 南宁市网站开发什么是响应式网站建设
  • 企业网络营销策划必须以什么为核心德州鲁企动力网站优化中心
  • 网站开发代理江苏wordpress 美化 插件大全
  • 网站移动端建设c语言怎么做网站
  • 网站mip怎么做松原做网站平台
  • 郑州市网站空间服务公司具体的网站建设
  • 做网站注意的问题百度账号是什么
  • 网站的专业环境设计专业就业方向
  • 网站建设市场需求分析ui设计课程内容
  • 网页设计怎么分析网站啊酒店网站建设价格
  • ui网站开发wordpress 时间轴 主题