大家能看下吗。。关于数组问题

touchwhat 2009-03-03 09:31:06
大家能看看哪里错吗。。我试过单个运行是没问题的。。不知道怎么出了个这样的错误

bitset.obj : error LNK2001: unresolved external symbol "int __cdecl printValues2(int const *,int const *)" (?printValues2@@YAHPBH0@Z)
Debug/bitset.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

再问一下这里的代码算是归纳了数组的形参吗?

#include<iostream>
using namespace std;
int main()
{
int printValues(int *begin,size_t size);
int printValues1(int (&arr)[5]);
int printValues2(const int*begin,const int*end);
int printValues3(const int a[5]);
int j[5]={1,2,3,4,5};
cout<<"Summation fromsum1():"<<printValues(j,5)<<endl;
cout<<"Summation fromsum2():"<<printValues1(j)<<endl;
cout<<"Summation fromsum3():"<<printValues2(j,j+5)<<endl;
cout<<"Summation fromsum4():"<<printValues3(j)<<endl;
return 0;
}
int printValues(int *begin,size_t size)
{
int sum=0;
int *p=begin;
while(p!=begin+size)
{
sum+=*p++;
}
return sum;
}

int printValues1(int (&arr)[5])
{
int sum1=0;
for(size_t i=0;i!=5;i++)
{
sum1+=arr[i];
}
return sum1;
}
int pirntValues2(const int*begin,const int*end)
{
int sum2=0;
while(begin!=end)
{
sum2+=*begin++;
}
return sum2;
}
int printValues3(const int a[5])
{
int sum3=0;
for(size_t i=0;i<5;i++)
{
sum3+=a[i];
}
return sum3;

}


...全文
106 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chin_chen 2009-03-03
  • 打赏
  • 举报
回复
我也找了半天,才发现的。
Laozql 2009-03-03
  • 打赏
  • 举报
回复
刚开始还真没看出来
chenyingshu 2009-03-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lightnut 的回复:]
int pirntValues2(const int*begin,const int*end)
{ ...... }
=========>
int printValues2(const int*begin,const int*end)
{......}; // print写成pirnt了
[/Quote]
好细心阿。
xtting_8984313 2009-03-03
  • 打赏
  • 举报
回复
仔细啊,
touchwhat 2009-03-03
  • 打赏
  • 举报
回复
太大意了我。。。
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lightnut 的回复:]
int pirntValues2(const int*begin,const int*end)
{ ...... }
=========>
int printValues2(const int*begin,const int*end)
{......}; // print写成pirnt了
[/Quote]

真细心啊..
lzy340623339 2009-03-03
  • 打赏
  • 举报
回复
语法错误,注意函数名的对应
int pirntValues2(const int*begin,const int*end)
{
int sum2=0;
while(begin!=end)
{
sum2+=*begin++;
}
return sum2;
}

int printValues2(const int*begin,const int*end);
hhyttppd 2009-03-03
  • 打赏
  • 举报
回复
int pirntValues2(const int*begin,const int*end) //pirntValues2应该是printValues2,楼主细心点。
{
int sum2=0;
while(begin!=end)
{
sum2+=*begin++;
}
return sum2;
}
lightnut 2009-03-03
  • 打赏
  • 举报
回复
int pirntValues2(const int*begin,const int*end)
{ ...... }
=========>
int printValues2(const int*begin,const int*end)
{......}; // print写成pirnt了
healer_kx 2009-03-03
  • 打赏
  • 举报
回复
你的那些函数的前置声明在哪里。?

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧