c++ 编译出错原因新手求教

lgdebc22 2013-03-02 04:22:35
[C++ Error] Unit1.cpp(8): E2015 Ambiguity between 'std::sqrt(double)' and 'std::sqrt(long double)'
源码:
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
float sum=0;
for(int i=1;i<=10;i++)
sum+=sqrt(i);
cout<<"sum="<<sum<<endl;
}
为什么会出现这个问题
...全文
758 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
vcl.h定义包含了basepch0.h,basepch0.h头文件是VCL/CLX的核心头文件,包含了BCB工程常用的头文件,是BCB工程所必须添加的头文件
lgdebc22 2013-03-05
  • 打赏
  • 举报
回复
引用 8 楼 sunxingzhesun 的回复:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include<iostream> #include<cmath> #include<math.h> using namespace std; //-------……
灰常感谢,成功运行,原来是#include<vcl.h>的问题,加了这个就好了,追问下,这个头文件是干什么的?
lgdebc22 2013-03-04
  • 打赏
  • 举报
回复
[Linker Error] Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl 运行后出现这个东西,是我cbuilder有问题么``
  • 打赏
  • 举报
回复
你可以先看看普通工程能不能正常编译
  • 打赏
  • 举报
回复
我按照sololie 的做可以啊,弹出Doc窗口
  • 打赏
  • 举报
回复
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include<iostream> #include<cmath> #include<math.h> using namespace std; //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { //float sum=0; double sum=0; for(int i=1;i<=10;i++) sum+=sqrt(double(i)); cout<<"sum="<<sum<<endl; system("pause");// 最后加一句 return 0; } //---------------------------------------------------------------------------
sololie 2013-03-03
  • 打赏
  • 举报
回复
新建个控制台程序(console wizard),souce type 选 c++ , 在unit1.cpp中清空,贴上下面代码运行

#include <iostream>
#include <cmath>
#include "stdio.h"
#pragma hdrstop

using namespace std;
#pragma argsused

int main(int argc, char* argv[])
{
   float sum = 0;
   for (int i=1; i<=10; i++)
      sum += sqrt((double)i);
   cout << "sum = " << sum << endl;

   system("pause");
   return 0;
}
lgdebc22 2013-03-03
  • 打赏
  • 举报
回复
引用 3 楼 sololie 的回复:
不是弹不出,是弹出了马上就结束了你看不到。 C/C++ code ? 1234567 #include "stdio.h" // 加入这个头文件 int main() { ... // 你的代码 system("pause");// 最后加一句 }
可是我试了试,那个cmd窗口闪都没闪过,是不是我新建的项目选错了``
lgdebc22 2013-03-03
  • 打赏
  • 举报
回复
原来这样啊,谢谢了``
sololie 2013-03-02
  • 打赏
  • 举报
回复
不是弹不出,是弹出了马上就结束了你看不到。

#include "stdio.h" // 加入这个头文件
int main()
{
  ... // 你的代码
  system("pause");// 最后加一句
}
lgdebc22 2013-03-02
  • 打赏
  • 举报
回复
谢谢,可是改了之后也弹不出cmd那个运行窗口
sololie 2013-03-02
  • 打赏
  • 举报
回复
sum += sqrt((double)i);

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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