对重载函数的调用不明确

[复制链接]
查看11 | 回复2 | 2009-4-21 19:36:43 | 显示全部楼层 |阅读模式
//一个数如果从左往右读和从右往左读数字是相同的,则称这个数为回文数,比如898,1221等等。求既是回文数又是质数的五位十进制数有多少个?
#include "stdafx.h"
#include "math.h"
int flag1=0,flag2=0;
void prime(int x,int y,int z)
{
int m,k,i;
k=(int)sqrt(m);
for(i=2;ik)
flag1=1;
return;
}
void palindromic(int array[5],int b)
{
int a[5],num;
a[0]=num/10000;
a[1]=(num-a[0]*10000)/1000;
a[2]=(num-a[0]*10000-a[1]*1000)/100;
a[3]=(num-a[0]*10000-a[1]*1000-a[2]*100)/10;
a[4]=(num-a[0]*10000-a[1]*1000-a[2]*100-a[3]*10)/1;

if(a[0]==a[4]&&a[1]==a[3])
flag2=1;
return;
}
void main()
{
int number,w,r,d[5];
for(number=10000;number------ 已启动生成: 项目: 回文及质数, 配置: Debug Win32 ------
1>正在编译...
1>回文及质数.cpp
1>c:\users\hp\documents\visual studio 2008\projects\回文及质数\回文及质数\回文及质数.cpp(10) : error C2668: “sqrt”: 对重载函数的调用不明确
1>
g:\visual c++\vs2008\vc\include\math.h(581): 可能是“long double sqrt(long double)”
1>
g:\visual c++\vs2008\vc\include\math.h(533): 或
“float sqrt(float)”
1>
g:\visual c++\vs2008\vc\include\math.h(128): 或
“double sqrt(double)”
1>
试图匹配参数列表“(int)”时
1>c:\users\hp\documents\visual studio 2008\projects\回文及质数\回文及质数\回文及质数.cpp(38) : error C2664: “palindromic”: 不能将参数 1 从“int”转换为“int []”
1>
从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换
1>生成日志保存在“file://c:\Users\hp\Documents\Visual Studio 2008\Projects\回文及质数\回文及质数\Debug\BuildLog.htm”
1>回文及质数 - 2 个错误,0 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
想知道如何改这个程序

回复

使用道具 举报

千问 | 2009-4-21 19:36:43 | 显示全部楼层
把m定义为浮点型 并赋初值 void palindromic(int array[5],int b) 下边就变a[5]了我感觉问题相当多...
回复

使用道具 举报

千问 | 2009-4-21 19:36:43 | 显示全部楼层
palindromic(d[5],number);改成:palindromic(d,number);...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行