我是靠谱客的博主 安详蜗牛,最近开发中收集的这篇文章主要介绍C++ 常见编译错误及解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.[Error] in C++98 ‘box1’ must be initialized by constructor, not by ‘{…}’

vector初始化问题: CBox box1 ={78.0,24.0,18.0}; 改成 CBox box1 (78.0,24.0,18.0)

或者开启编译选项 -std=c++11

  1. 变量定义的问题:

例如:想要定义三个整型变量,初始化为0;

int a, b, c=0;这样不对!!!

int a, b, c; a=b=c=0; 这样可以!

int a=0, b=0, c=0; 这样可以!

  1. 二维数组作为函数参数时必须注意:

将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的,但是不能省略第二维或者更高维的大小;

原因:这是由编译器原理限制的。事实上,编译器是这样处理数组的:


对于数组 int p[m][n],如果要取p[i][j]的值(i>=0 && i<m && 0<=j && j < n),编译器是这样寻址的,它的地址为:
p + i*n + j;//注意n!!
这里如果省略了第二维或者更高维的大小,编译器将不知道如何正确的寻址!!!

正确写法:

void function(int p[][n])

void function(int p[m][n])

void function(int p[][])这样不可以

  1. makefile编译出错: undefined reference to ‘RBF()’

collect2: error: ld returned 1 exit status

一开始以为是makefile写的依赖关系出错,但后来发现竟然是RBF这个函数的声明和定义里的参数不一样,有没有&都会报错,要统一;

--------(不断更新中)

日积月累,滴水穿石

最后

以上就是安详蜗牛为你收集整理的C++ 常见编译错误及解决方法的全部内容,希望文章能够帮你解决C++ 常见编译错误及解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部