g++功能还是很强大的
2015-09-01 16:14
218 查看
#include <iostream> using namespace std; int fuc(char *a) { cout << a << endl; } int main() { fuc("hello"); }
inux 环境下当 GCC 版本比较高时,编译代码可能出现的问题
问题是这样产生的,先看这个函数原型:
1 | void someFunc( char *someStr); |
1 | someFunc( "I'm a string!" ); |
为什么呢?原来char *背后的含义是:给我个字符串,我要修改它。
而理论上,我们传给函数的字面常量是没法被修改的。
所以说,比较和理的办法是把参数类型修改为const char *。
这个类型说背后的含义是:给我个字符串,我只要读取它。
相关文章推荐
- C++类特性:this指针与函数的全局性(一)
- Unicode(UTF-8, UTF-16)令人混淆的概念
- android support v4 v7 appcompat-v7
- 不抛出异常的swap函数
- 内存泄漏
- TortoiseSVN使用教程
- freemarker语法简介
- angular应用前景
- 跨域调用(mvc、webapi)
- Programming Ability Test学习 1009. 说反话 (20)
- google的面试题(三维动态规划的范例)——(87)Scramble String
- JVM简介
- 从逆向的角度去理解C++虚函数表
- Linux makefile教程-详细易懂
- 为openstack制作windows镜像
- iOS开发辅助工具,沙盒定位软件和数据库可视化软件
- 用正则在eclipse中搜寻出所有中文字符
- [Decode error - output not cp1252][Decode error - output not utf-8]
- Linux下的利器——supervise
- CheckComboboxEdit、CheckedListBoxControl