二话不说,上代码
float numberInput( char *notice)//输入数字 { float t=0.00; do { scanf("%f",&t); if(t<0) printf("\n the number must be >=0 \n"); } while(t>0); return t; }
tp[n].jbgz = numberInput("basic salary:");//此行开始提示出错,错误信息如下 tp[n].jj = numberInput("bonus:"); tp[n].kk = numberInput("koukuan:");
错误信息:
SalaryManager\src\SalaryManager.cpp|190|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]|
解决方案:
float numberInput( <span style="color:#ff0000;">const</span> char *notice)
问题分析:
http://blog.csdn.net/xyy410874116/article/details/6397549 warning:deprecated conversion from string constant to 'char *'解决方案
分析的很详细了
简单摘抄一下:
char *背后的含义是:给我个字符串,我要修改它。
而理论上,我们传给函数的字面常量是没法被修改的。
所以说,比较和理的办法是把参数类型修改为const char *。
这个类型说背后的含义是:给我个字符串,我只要读取它。