中易网

C++ “表达式必须包含整数或枚举类型”错误

答案:3  悬赏:50  
解决时间 2021-01-12 21:45
  • 提问者网友:蓝莓格格巫
  • 2021-01-12 03:49
C++ “表达式必须包含整数或枚举类型”错误
最佳答案
  • 二级知识专家网友:躲不过心动
  • 2021-01-12 03:56
你的^操作符使用错了,^操作符在C/C++里面是按位异或的意思,所以a^b的话,a和b都需要时整数才行,你的是double肯定不行了。不过我想你是想计算平方,C里面指数运算需要调用函数pow。
拓展:
1、C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。
2、它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性!
3、C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
全部回答
  • 1楼网友:夜余生
  • 2021-01-12 05:56
sqrt至少定义了两个函数,
double sqrt(double x)
long double sqrt (long double x);
现在你的参数转换有两种,要自动转换成double或者long double,但是因为两个都可以转换,所以他就报错了。你强制转换成double后应该不会 报错。

Tbeam[j]+=d[i]/(sqrt((double)(1.0-(m0/(m0+Ubeam[j]))^2)*c));
  • 2楼网友:独行浪子会拥风
  • 2021-01-12 04:27
你的^操作符使用错了,^操作符在C/C++里面是按位异或的意思,所以a^b的话,a和b都需要时整数才行,你的是double肯定不行了。
不过我想你是想计算平方,C里面指数运算需要调用函数pow
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息