error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

简介: <p>最近发现一个奇怪的错误,错误提示如下:</p> <p></p><pre name="code" class="cpp">error C4430: missing type specifier - int assumed. Note: C++ does not support default-int</pre><br> 出现该段错误的源码(某公司校招技术笔试题)如下:<pre

最近发现一个奇怪的错误,错误提示如下:

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

出现该段错误的源码(某公司校招技术笔试题)如下:
#include<iostream>
using namespace std;

main()
{
	long x=65530;
	long countx=0;
	while(x)
	{
		countx++;
		x=x&(x-1);
	}
	cout<<countx<<endl;
	return countx;
}
编译后错误如下图提示:


解决方法如下:在Properties -> Configuration Properties -> C/C++ -> Command Line -> Additional Options中加入/wd4430 ,如下图:


不过呢?虽然问题解决了,本人也是“知其然不知其所以然”,若哪位高手看到后可以给出这样解决问题的原因,不过个人猜测与编译器内部有关,仅供参考,此猜测的原因如下段代码:

#include<iostream>
using namespace std;

main()
{
	int x=65302250;
	int countx=0;
	while(x)
	{
		countx++;
		x=x&(x-1);
	}
	cout<<countx<<endl;
	return countx;
}

编译过后没有任何问题!!!

可以看到,

int x=65302250;

没有提示错误哦~~~

我们知道int的大小是两字节,即-32768~32767,明显超出范围了。

剩下的交给武林盟主了~~~~~~~



目录
相关文章
|
7月前
|
算法 编译器 C++
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits 判断 Lambda表达式类型?
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits 判断 Lambda表达式类型?
132 4
|
7月前
|
安全 算法 C++
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits处理弱枚举和强枚举
【C/C++ 泛型编程 应用篇】C++ 如何通过Type traits处理弱枚举和强枚举
141 3
C++ --- error C2664: “LoadLibraryW”: 不能将参数 1 从“const char *”转换为“LPCWSTR”
C++ --- error C2664: “LoadLibraryW”: 不能将参数 1 从“const char *”转换为“LPCWSTR”
314 0
|
5月前
|
编译器 开发工具 C++
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
2709 0
|
2月前
|
Python
[oeasy]python036_数据类型有什么用_type_类型_int_str_查看帮助
本文回顾了Python中`ord()`和`chr()`函数的使用方法,强调了这两个函数互为逆运算:`ord()`通过字符找到对应的序号,`chr()`则通过序号找到对应的字符。文章详细解释了函数参数类型的重要性,即`ord()`需要字符串类型参数,而`chr()`需要整数类型参数。若参数类型错误,则会引发`TypeError`。此外,还介绍了如何使用`type()`函数查询参数类型,并通过示例展示了如何正确使用`ord()`和`chr()`进行转换。最后,强调了在函数调用时正确传递参数类型的重要性。
24 3
|
2月前
|
TensorFlow 算法框架/工具
Tensorflow error(二):x and y must have the same dtype, got tf.float32 != tf.int32
本文讨论了TensorFlow中的一个常见错误,即在计算过程中,变量的数据类型(dtype)不一致导致的错误,并通过使用`tf.cast`函数来解决这个问题。
26 0
|
7月前
|
安全 程序员 编译器
【C/C++ 泛型编程 进阶篇 Type traits 】C++类型特征探究:编译时类型判断的艺术
【C/C++ 泛型编程 进阶篇 Type traits 】C++类型特征探究:编译时类型判断的艺术
525 1
|
4月前
|
Dart JavaScript 前端开发
Dart或Flutter中解决异常-type ‘int‘ is not a subtype of type ‘double‘
Dart或Flutter中解决异常-type ‘int‘ is not a subtype of type ‘double‘
145 4
|
4月前
|
测试技术 C++
【C++】解决googleTest报错error: SEH exception with code 0xc0000005 thrown in the test body.
【C++】解决googleTest报错error: SEH exception with code 0xc0000005 thrown in the test body.
115 1
|
4月前
|
JavaScript C++
【C++ visual studio】解决VS报错:error C2447: “{”: 缺少函数标题(是否是老式的形式表?)【亲测有效,无效捶我】
【C++ visual studio】解决VS报错:error C2447: “{”: 缺少函数标题(是否是老式的形式表?)【亲测有效,无效捶我】
179 0