帮我看一下,这里为什么显示未定义标识符?c++
答案:2 悬赏:30 手机版
解决时间 2021-11-21 09:40
- 提问者网友:贪了杯
- 2021-11-21 03:25
帮我看一下,这里为什么显示未定义标识符?c++
最佳答案
- 五星知识达人网友:山有枢
- 2021-11-21 04:28
有的时候IDE会显示错误的,小bug吧。
你这个文件还没保存,保存一下,然后编译试试有没有错误。追问好的,我看看吧感觉那个编译器提示的错误有点奇怪还是这样的提示是标记的那个地方的错误,谢谢
追答你执行 编译,然后把下面输出的编译log截图看看。追问就是这里出错您帮忙看一下谢谢了
追答你先解决第一个错误:
gb.cpp的第33行,缺少“)"。
你没有开启行号,33行是不是
int building::operator == (const building& mb)
这行啊?
你是不是最右面的括号用的是中文的啊?
你最好把代码贴出来,而不是截图。追问谢谢您!确实是中文括号,改了就好了确实太不够细心,而且编程习惯不好让您费心了哈还有,请问,这句话为什么离开了const不行?追答客气啦。
至于const,离开它不行吗?
我没怎么写过运算符重载,我觉得从语法上来说const可以没有吧。
不过实际写代码的时候,像这种传进来的参数在函数内部不会被修改的,应该用const。
而使用引用,可以避免传递参数时生成临时变量,能够提高效率。
类似这种,传进来的参数只是被使用以下,而不会被修改,常常用const xxx&这样的类型。追问谢谢您了,一直对什么时候使用引用什么的不大懂,现在感觉好多了。const我硬去,结果会有编译错误。
你这个文件还没保存,保存一下,然后编译试试有没有错误。追问好的,我看看吧感觉那个编译器提示的错误有点奇怪还是这样的提示是标记的那个地方的错误,谢谢
追答你执行 编译,然后把下面输出的编译log截图看看。追问就是这里出错您帮忙看一下谢谢了
追答你先解决第一个错误:
gb.cpp的第33行,缺少“)"。
你没有开启行号,33行是不是
int building::operator == (const building& mb)
这行啊?
你是不是最右面的括号用的是中文的啊?
你最好把代码贴出来,而不是截图。追问谢谢您!确实是中文括号,改了就好了确实太不够细心,而且编程习惯不好让您费心了哈还有,请问,这句话为什么离开了const不行?追答客气啦。
至于const,离开它不行吗?
我没怎么写过运算符重载,我觉得从语法上来说const可以没有吧。
不过实际写代码的时候,像这种传进来的参数在函数内部不会被修改的,应该用const。
而使用引用,可以避免传递参数时生成临时变量,能够提高效率。
类似这种,传进来的参数只是被使用以下,而不会被修改,常常用const xxx&这样的类型。追问谢谢您了,一直对什么时候使用引用什么的不大懂,现在感觉好多了。const我硬去,结果会有编译错误。
全部回答
- 1楼网友:忘川信使
- 2021-11-21 04:34
怎么也得先new一下,在内存中创建一个实例后再考虑后面的操作吧?main里面第一句顶多算是声明一个类变量,没实际申请内存追问请问这个在哪里改一下?追答呃 刚刚没仔细看 以为是main里面出错了 哪知道是运算符重载这块报错 尴尬…单看截屏这一段内容 好像没有什么问题 搞不明白为什么会出现这种错误追问嗯嗯,,,也是感觉没什么错追答还能上网页版,把完整的代码贴上来啊 纯文字的那种 指不定其它什么地方有个小问题呢追问好的,,,我试试,谢谢了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯