Error:error C2601: ‘b‘ : local function definitions are illegal error C2063: ‘b‘ : not a function

Error:error C2601: ‘b‘ : local function definitions are illegal error C2063: ‘b‘ : not a function,第1张

场景:

这种问题一般可能是哪块少写了一个“}”
还有小概率可能就是你的C++标准库是C++98或者更早的,这种不支持非内置类型的初始化列表写法。


缺少}的情况

可以看到我们的test1方法少些了一个}就会导致后面的所有函数都报错。这就需要我们细心检查一下咯。

解决方案

自己检查一下第一行报错的行号附近的代码那块少些了一个}。

C++标准不支持

当你的C++标准是C++98时,C++98的初始化列表不支持非内置类型的初始化列表方法。具体可见如下代码

#include 
#include 
#include 
using namespace std;

int main()
{
	int a[] = { 1, 2, 3 };

	int b[] {1, 2, 3};
	vector<int> v{1,5,5};
	map<int, float> m{{1, 2.f}, {2, 3.2f}};

	return 0;
}

编译结果:

解决方案

那么这种情况下你的非内置类型变量就只能使用其他初始化方式了


C++常见错误

fatal error C1189: #error: STL1003: Unexpected compiler, expected C++ compiler

error C2041: illegal digit ‘9‘ for base ‘8‘ | error C2059: syntax error: ‘bad suffix on number‘

Error:QSqlDatabase: QMYSQL driver not loaded (Qt+C++ 找不到mysql的驱动)

Qt5Error:msvc-version.conf loaded but QMAKE_MSC_VER ins‘t set

Error:E0415 no suitable constructor exists to convert from “int“ to “Rational“

Error:E0415 no suitable constructor exists to convert from “int“ to “Rational“


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/2990595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存