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 ...
随机推荐
- 【洛谷p1314】聪明的质监员
聪明的质监员[题目链接] 有关算法: 二分答案: 但是你只二分答案是不够的,因为你check会炸,所以还要考虑前缀和: 首先假装我们的check已经写好了,main函数: int main() { n ...
- 数组去重,排序,重复次数,两个数组合并,两个数组去重,map(),filter(),reduce()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- python 定义模块作用及分类
python把一个功能的模块归类,简单来说,模块是一个由Python代码组成的文件.模块可以定义函数,类和变量. 模块还可以包括可运行的代码. 1,python模块的作用 提高代码的方便维护 使用模块 ...
- FCKEditor报java.lang.NullPointerException
1.需要在 加value=“ ” <FCK:editor instanceName="replycontent" basePath="/fckeditor" ...
- 【改】DOS文件格式转UNIX文件格式
windows中的文本文件的换行符是"\r\n",而linux中是"\n",dos格式文件传输到unix系统时,会在每行的结尾多一个^M,当然也有可能看不到,但 ...
- xml转dict
xml转dict 最开始的时候一直是按格式比较严谨的XML格式进行的转换,所以一般只需要考虑两种情况就可以了,即各个节点或者子节点全相同或者全不同,全相同按list处理,全不同按dict处理,这么一想 ...
- 如何搭建一个spring boot项目
什么是springboot? Spring Boot俗称微服务.Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特 ...
- Java文件处理之FileReader可输出中文字符
import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public ...
- 使用linkedlist封装简单的先进先出队列
创建一个类Queue代表队列(先进先出),添加add(Object obj) 及get()方法, 并添加main()方法进行验证 思路: 使用LinkedList实现队列,在向LinkedList中添 ...
- Eclipse使用maven创建SSM-web项目
1.环境准备 (1)maven:apache-maven-3.5.2,我的maven安装在D:\apache-maven-3.5.2,eclipse中maven配置如下: 先add ,添加好自己的ma ...