ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++ primer plus 8.8_6

2021-11-14 22:03:50  阅读:95  来源: 互联网

标签:ch int 8.8 max5 char num plus max primer


#include<iostream>
#include<cstring>
#include<string>
using namespace std;
template <typename T>
T max5(T num[], int n);

template <> char* max5( char* ch[], int  n);

int  main(void)
{
	
	double num1[4]={1.2,2.4,3.6,4.8};
	int num2[6]={3,5,6,8,9,9};
	int r1=max5(num2,6);
	double r2=max5(num1,4);
	cout<<"r1 = "<<r1<<endl;
	cout<<"r2 = "<<r2<<endl;
    char *str[5]={"abc","abcde","abcdef","abcdefg","abcdefgh"};
	char*  r3=new char [20];
	r3 =max5(str,5);
	cout<<"r3  = "<<r3<<endl`;
	
	return 0;
}

template <typename T>
T max5(T num[], int n)
{
	int i;
	T max=num[0];
	for(i=1;i<n;i++)
	{
		if(max<num[i])
			max=num[i];
	}
	return max;
}
template <>char *max5( char *ch[], int n)
{
	int i;
	int max=strlen((ch[0]));
	
	int p=0;
	for(i=1;i<n;i++)
	{
		if(max<strlen((ch[i])))
		{
			p=i;
		}
	}
	return ch[p];
}

疑惑:19行警告 [Warning] deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]

网上有人说要把具体化中的二维数组参数设为const,但改完之后又出现了别的错误,暂未解决。

标签:ch,int,8.8,max5,char,num,plus,max,primer
来源: https://blog.csdn.net/AlenSmithing/article/details/121324529

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有