no suitable ctr exists to convert from 'int' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char> >
int xfun(int *a,int n)
{
int x = *a;//a的类型是int *,a+1跳动一个int的长度
for (int *pa = a + ; pa < a + n; pa++)//指向同一个类型的指针比较大小,相减是两者之间的元素个数
{
//string s = pa - a;// string接受const char*的单参构造函数不是explicit的,但编译器不能把int转换为string类型
decltype(pa - a) t;
int arr[][];
decltype(arr) Type;
float f = pa - a;//因为float是四个字节,有效数字为6为,int转换为float可能丢失精度
cout << *pa << endl;
if (*pa > x)
x = *pa;
}
return x;
}
int main()
{
int x[] = { , , , , };
cout<<xfun(x, );
}
以上代码可讨论几个问题,记录在下面。这段代码的功能是找出数组中的最大值,用x记录比较过程,x初始为a[0],从第二个元素开始比较,比x大,x值就更新,遍历完数组,x就是最大的。

1、std::string编译器是不认识的,只认识int,float,int*等类型,string在编译器里的类型是std::basic_string<char,std::char_traits<char>,std::allocator<char> > ;
2、pa(搜狗中文输入状态下输入“pa”,按下Enter是选中英文字符,按下空格键是选中“怕”,按下shift是选中英文字符,且切换到英文状态 ),如下图所示:

3、string的单参ctr接受const char*,但不接受int,这个ctr不是explicit的,不能把int隐式转换为string
4、怎么获得两个指针相减的结果类型?即获取表达式的类型,用decltype,不计算表达式的值,只得到类型,如图:

指针相减的类型为ptrdiff_t ,这是一个signed int,如上图所示

arr的类型是二维数组,arr+1是跳一个二维数组的长度,即12个int大小
5、int和float在32位下为4个bytes,float有效数字为6位,int转换为float可能会丢失精度,warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data;int赋值给double,后者为8个字节,足够装下所有的int,warning就会消失了。
6、pa<pa+n,pa满足循环条件的最大值为pa+n-1,pa+0就是pa,指向a[1],pa+n-1指向数组的最后一个元素
no suitable ctr exists to convert from 'int' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char> >的更多相关文章
- Java Convert String & Int
To convert a int to string: int num = 123; String str = String.valueOf(num); To convert a string to ...
- TypeError: Fetch argument 0 has invalid type <type 'int'>, must be a string or Tensor. (Can not convert a int into a Tensor or Operation.)
6月5日的時候,修改dilated_seg.py(使用tensorflow)出現了報錯: TypeError: Fetch argument 0 has invalid type <type ' ...
- C# 使用int.TryParse,Convert.ToInt32,(int)将浮点类型转换整数时的区别
int.TryParse,Convert.ToInt32,(int) 这几种类型在将浮点类型转换整数时是有差别 Convert.ToInt32则会进行四舍五入 int.TryParse只能转换整数,即 ...
- Convert.ToByte((int)val)
static void Main(string[] args) { ; byte bit8 = Convert.ToByte((int)val); Console.WriteLine("[{ ...
- JAVA实体类不要使用基本类型,基本类型包含byte、int、short、long、float、double、char、boolean
由于JAVA的基本类型会有默认值,例如当某个类中存在private int age;字段时,创建这个类时,age会有默认值0.当使用age属性时,它总会有值.因此在某些情况下,便无法实现age为nu ...
- c++之常见数据类型(int,double,float,long double long long 与std::string之间)相互转换(含MFC的CString、含C++11新特性函数)
--- 已经通过初步测试---- ------------------ 下面的是传统常见数据类型的转换(非c++11)--------------- std::string 与其他常用类型相互转换, ...
- convert与int.parse int
1,convert :适合将object 转换 int:简单数据转换 int.parse:将string类型转换为int 2,convert:对于空值返回0 不会报异常 int.parse:将会抛出异 ...
- Convert.ToInt32,int.Parse,int.TryParse,(int)的区别
1 (int)变量名[强制类型转换] 该转换方式主要用于数字类型转换,从int类型到long,float,double,decimal类型,可以使用隐式转换,但是从long类型到int类型就需要使用显 ...
- Java-convert between INT and STRING
int -> String 三种写法 String s = 43 + ""; String s = String.valueOf(43); String s = Intege ...
随机推荐
- CentOS安装Python3.x
安装python3.6可能使用的依赖# yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqli ...
- ffmpeg的中文文档
1. 概要 ffmpeg [global_options] {[input_file_options] -i INPUT_FILE} ... {[output_file_options] OUTPUT ...
- hadoop HA架构
什么是Hadoop? http://hadoop.apache.org/ 解决问题:·海量数据的存储 (HDFS)·海量数据的分析 (MapReduce)·资源管理调度 (YARN) 集群规划:(这里 ...
- PyQt5+qtdesigner开发环境配置
1.PyQt5安装 pip install PyQt5 2.qtdesigner安装 本来直接用pip install PyQt5-tools安装的,但是网速下的慢,中间还断了几次,在网上找到一个稳定 ...
- [POI2006]ORK-Ploughing(贪心,枚举)
[POI2006]ORK-Ploughing 题目描述 Byteasar, the farmer, wants to plough his rectangular field. He can begi ...
- man(2) W
wait(2) wait3(2) wait4(2) waitpid(2) waitid(2) SEE ALSO _exit(2), clone(2), fork(2), kill(2), ptrace ...
- 将postgresql中的数据实时同步到kafka中
参考地址:https://blog.csdn.net/weixin_33985507/article/details/92460419 参考地址:https://mp.weixin.qq.com/s/ ...
- 前端每日实战:25# 视频演示如何用纯 CSS 创作一个慧星拖尾效果的 loader 动画
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/YLRLaM 可交互视频教程 此视频 ...
- libopencv_imgcodecs3.so.3.3.1: undefined reference to `TIFFReadDirectory@LIBTIFF_4.0
ubundu 编译 C++工程时遇到的: 解决方案: https://blog.csdn.net/qq_29572513/article/details/88742652
- swan.onPageNotFound
解释: 监听小程序要打开的页面不存在事件.该事件与 App.onPageNotFound 的回调时机一致. 方法参数: Function callback小程序要打开的页面不存在的事件回调函数. ca ...