永发信息网

VC++错 类中的强制类型转换

答案:3  悬赏:0  手机版
解决时间 2021-02-06 15:34
呃~~好像每次都超过字数限制,我把代码发到博客上。。。程序不长,就是错误多。
http://neicole.blog.163.com/blog/static/357123272011415115728538/
用的是DEV-C++
错误看不出来,麻烦各位大侠帮帮忙....

编译器: Default compiler
执行 g++.exe...
g++.exe "F:\Temp\作业5\H5t2.cpp" -o "F:\Temp\作业5\H5t2.exe" -I"D:\Program Files (x86)\DEV-CPP\lib\gcc\mingw32\3.4.2\include" -I"D:\Program Files (x86)\DEV-CPP\include\c++\3.4.2\backward" -I"D:\Program Files (x86)\DEV-CPP\include\c++\3.4.2\mingw32" -I"D:\Program Files (x86)\DEV-CPP\include\c++\3.4.2" -I"D:\Program Files (x86)\DEV-CPP\include" -L"D:\Program Files (x86)\DEV-CPP\Lib"
In file included from D:/Program Files (x86)/DEV-CPP/include/c++/3.4.2/backward/iostream.h:31,

from F:\Temp\作业5\H5t2.cpp:11:
D:/Program Files (x86)/DEV-CPP/include/c++/3.4.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the header for the header for C++ includes, or instead of the deprecated header . To disable this warning use -Wno-deprecated.
In file included from F:\Temp\作业5\H5t2.cpp:12:
F:\Temp\作业5\/nk.h:21: error: `operator double()' must be a nonstatic member function
F:\Temp\作业5\/nk.h:21: error: `operator double()' must take exactly one argument
F:\Temp\作业5\/nk.h:35: error: `operator double()' must be a nonstatic member function
F:\Temp\作业5\/nk.h:35: error: `operator double()' must take exactly one argument
F:\Temp\作业5\/nk.h: In function `operator double()':
F:\Temp\作业5\/nk.h:37: error: `meter' undeclared (first use this function)
F:\Temp\作业5\/nk.h:37: error: (Each undeclared identifier is reported only once for each function it appears in.)
F:\Temp\作业5\/nk.h:37: error: `kilometer' undeclared (first use this function)
F:\Temp\作业5\H5t2.cpp: In function `int main()':
F:\Temp\作业5\H5t2.cpp:25: error: missing terminating " character
F:\Temp\作业5\H5t2.cpp:26: error: expected primary-expression before '<<' token
F:\Temp\作业5\H5t2.cpp:42: error: `class nauticalmile_kilometer' used where a floating point value was expected
F:\Temp\作业5\H5t2.cpp:42: error: aggregate value used where a float was expected
F:\Temp\作业5\H5t2.cpp:43: error: `class nauticalmile_kilometer' used where a floating point value was expected
F:\Temp\作业5\H5t2.cpp:43: error: aggregate value used where a float was expected
F:\Temp\作业5\H5t2.cpp:44: error: `class nauticalmile_kilometer' used where a floating point value was expected
F:\Temp\作业5\H5t2.cpp:44: error: aggregate value used where a float was expected
F:\Temp\作业5\H5t2.cpp:45: error: `class nauticalmile_kilometer' used where a floating point value was expected
F:\Temp\作业5\H5t2.cpp:45: error: aggregate value used where a float was expected

执行结束

错在哪里,该怎么修改好呢?
最佳答案
F:\Temp\作业5\/nk.h:21: error: `operator double()' must be a nonstatic member function
必须是非静态的成员函数
F:\Temp\作业5\H5t2.cpp:25: error: missing terminating " character
缺引号? 看看有没有拉下,或是全角
全部回答
从错误提示来看: operator double()缺少参数,使用了静态成员; kilometer、meter变量未定义,可能没有包含头文件; 存在语法错误:缺少'<<' 数据类型不匹配:aggregate value used where a float was expected(需要浮点数值时使用了聚合值) 初步估计这里出现问题最多: class nauticalmile_kilometer{}、operator double() 看了你的代码一下: double meter; double kilometer; 应该在public里头定义,而不是在private:里头定义,这样才能正常访问!private:是私有成员变量,不能在外部引用! 定义operator double()返回值 ========================================================================= 转换的时候建议使用format命令会比较好点~~~ int i; float i; ````` CString temp; temp.Format("%d,or%u,or%f,or%e,or%g,or%n,or%m,or%p,or%s,or%x or %",i); 或者: i = atoi(temp);   长整型(long) l = atol(temp);   浮点(double) d = atof(temp); 新手上路,希望对你有所帮助!
楼主的输出写错了,应该是-6。 一般的整型变量位数都高于8位,比如vc里int是64位,但char型变量只有8位,那么把一个char型变量赋给一个int型变量时,高56位就根据char的符号位来填充,无符号或有符号的正数就补0,有符号的负数补1。 比如你给的程序signed char的取值范围实际上是-128-127。250对应的2进制数为不能有汉字啊
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
孙悟空72变化都有那些?
世纪恋人婚纱影楼怎么去啊,有知道地址的么
缴费二十二年工龄大概能领多少养老金
聊天原来可以聊得这么哲学,哲理都是聊出来的
孙中山临终前口述的《国事遗嘱》。议一议,这
上海赛维干洗连锁(红旗大街清汤牛肉拉面旁)地
根据括号内的要求改写句子Does the soup tast
金宏木材厂这个地址在什么地方,我要处理点事
我在交易猫买个梦幻西游手游号,进游戏后,别
四川农业大学 宿舍 问题
上海赛维干洗连锁(泰山中路地税小区)地址在什
oppor7 plus QQ留言留不上
方圆金街商业中心停车场在什么地方啊,我要过
移动兑积分工号是什么意思?
【捺组词】捺字组词
推荐资讯
比率分析法是什么意思
以腊开头的成语
太极养生馆我想知道这个在什么地方
we finish class at four thirty 同义句
什么是贴吧店铺
小波唯美发型地址好找么,我有些事要过去
龙之谷交易行怎么买不到东西
微交易,在广东金德大宗商品交易中心平台做,
孙悟空在去西天路上降伏的妖怪有
请问天津市汉沽区派出所的电话是多少?周六周
∫(0,1)dx∫(0,x)e^(-y)dy怎么解?
河西村怎么去啊,有知道地址的么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?