You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++电话簿项目报function-definition not allowed before '{'错误如何解决

编译错误修复方案

你遇到的a function-definition is not allowed here before '{' token报错的根源是代码括号不匹配,C++不允许在函数内部定义另一个函数,你的代码存在两个括号问题:

  • izmenaPodataka() 函数中,外层的for(int i=0; brojElemenata()>=i ; i++)循环缺少对应的闭合大括号},导致编译器认为后续的uklanjanjePodataka()等函数是在izmenaPodataka()内部定义的,直接触发编译错误
  • 全部代码的末尾多了一个多余的闭合大括号}

具体修复步骤

  1. 在izmenaPodataka()函数的else分支结束后、tel_ime.close();代码之前,添加一个},闭合外层的for循环
  2. 删除整段代码最后多余的一个}

修复后即可解决当前的编译报错,另外你的代码还存在几个潜在逻辑问题可后续优化:

  • while(!file.eof())的写法会多读入一行空数据,建议改为while (file >> 变量)的判断方式
  • 打开文件后没有判断是否打开成功,文件不存在时会触发逻辑异常
  • 写入文件时部分位置缺少换行符,会导致后续读取数据错乱

内容的提问来源于stack exchange,提问作者Petar Pera Andrejic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 23:36:03