C++函数声明报错:qualified-id in declaration before '(' token 求助
C++函数声明报错:qualified-id in declaration before '(' token 求助
嗨,兄弟!看你刚学C++就碰到这个报错,太懂这种抓瞎的感觉了,我入门的时候也在这种小问题上卡过好久,别焦虑~
先帮你捋捋这个报错最常见的几个坑,你对着自己的代码排查下:
- 首先看你贴的代码片段里
using namespace后面没写完啊!正常应该是using namespace std;,要是漏了std;或者拼错了,编译器直接就懵了,很可能触发这个错误,先把这个补全看看? - 如果你是在类外面定义成员函数,是不是没加对类的限定符?比如你有个类叫
MyClass,里面声明了void myFunc();,那类外面定义的时候得写void MyClass::myFunc() { /* 代码 */ },要是漏了MyClass::或者把类名写错了,编译器就认不出这是类的成员函数,会报这个错。 - 还有一种情况是函数声明的时候,返回值或者参数的类型出问题了——比如你用了一个还没声明的类/结构体,或者把变量名当成类型来用了,编译器会把这些乱掉的标识符当成“qualified-id”,然后就会弹这个报错。
- 要是你是在类里面声明函数,可别画蛇添足加类名::啊!类里面直接写
void myFunc(int a);就行,加了类名::反而会错。
给你个小建议:新手阶段先别着急写类,先写个最简单的全局函数跑通试试,比如:
#include <iostream> using namespace std; void sayHello() { cout << "Hello World!" << endl; } int main() { sayHello(); return 0; }
先把这种基础的跑起来,再慢慢往类里加功能,出错了也好定位。
对了,要是能把你的完整代码贴出来,能更精准地帮你找到问题~
备注:内容来源于stack exchange,提问作者User67
相关产品推荐
相关产品推荐

