error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

 1 #include<iostream>
 2 using namespace std;
 3
 4
 5 extern int i;
 6 extern float f(float a);
 7 float b;
 8 float f(float a){
 9     return a+1.0;
10 }
11 int i;
12 int h(int x)
13 {
14     return x*i;
15 }
16
17 main()
18 {
19     b=1.0;
20     i=2;
21     f(b);
22     h(i);
23     cout<<f(b)<<":"<<h(i)<<endl;
24     system("pause");
25 }

这段代码源于《C++编程思想》一书的代码

错误详情: error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int    e:\imfcapplications\002_01\002_01\_01.cpp    18    1    002_01
原因:C中允许未声明的函数返回int类型,C++中不允许。同时,为了兼容早期的C语言,因为第一个版本的C中内置类型只有int(char,double,float,bool都是后来加入的),既然只有一种类型,那么不写就默认int.C99标准中要求,对于这种写法至少给出编译警告.不建议采用这种老的书写方式.

参考:http://blog.csdn.net/w343051232/article/details/8152097

时间: 2024-10-20 11:31:31

error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int的相关文章

error C4430: 缺少类型说明符 - 假定为 int

原文地址:error C4430: 缺少类型说明符 - 假定为 int.注意: C++ 不支持默认 int作者:tony c:evanworkspace11netwowkippack.h(50) : error C2146: 语法错误 : 缺少“;”(在标识符“nSourPort”的前面) c:evanworkspace11netwowkippack.h(50) : error C4430: 缺少类型说明符 - 假定为 int.注意: C++ 不支持默认 int c:evanworkspace1

WinPcap应用程序:error: C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

在对WinPcap的文档进行学习时,直接复制了别人的代码,然后就是报错. 头疼不已,然后才发现C++的版本不一样,main函数前面必须加上数据类型,因此改为:int main(),一起就Ok了!! 原文地址:https://www.cnblogs.com/almn/p/11286978.html

error C4430: 缺少类型说明符 - 假定为 int....的一种情况的解决方法

这段时间用VS2013写代码的时候,一不小心就出现了这个提示,这个问题困扰了我一段时间,不过总算解决了,这里记录一下! 我这里先描述本人碰到的问题: 正如上图所见,一段在我们眼里看起来没有任何错误的代码,居然爆出了4430的错误,先不急,我们先看一看DlgAddAccount.h文件中包含的头文件: 再看一看AddAccountInfoDlg.h中包含的头文件: 我们发现一件很有趣的事情,两个文件互相包含,这样的话,我们将AddAccountInfo.h中的#include "DlgAddAcc

error C3646 和 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

总结了一下,主要有以下原因: 1. (此情况经常出现在大型工程项目中)如果存在两个类的头文件a.h和b.h,在a.h中有这样的语句:#include "b.h",在b.h文件中有这样的语句:#include "a.h"   且在一个类中有另一个类的对象时   那么就会出现这样的错误. 2. 没有包含要定义的类的头文件. 3.项目中少加了宏定义,导致头文件重复定义或相应宏无法识别. 4.当有多个头文件时,顺序写反也可能导致相关的错误,其根本是头文件中的预编译语句被隐去

类模板相互引用的问题(错误:缺少类型说明符-假定为int。注意:C++不支持默认int)

问题描述: 现在有两个模板类(头文件A.h为1~14行,头文件B.h为15~27行): 1: /////////////////////////////////////////// 2: // file A.h 3: // 4: #include "B.h" 5: 6: template <class T> 7: class A 8: { 9: public: 10: T a; 11: B b_ptr; 12: A(): a(0), b_ptr(NULL) {} 13: }

error C2143 &amp; error C4430

错误 1 error C2143: 语法错误 : 缺少";"(在"*"的前面) 错误 2 error C4430: 缺少类型说明符 - 假定为 int.注意: C++ 不支持默认 int 错误 3 error C4430: 缺少类型说明符 - 假定为 int.注意: C++ 不支持默认 int 解决办法: 1.检测出错文件中需要include的文件都已include 2.检测已include文件是否出错(一般是这样的) 2.1 头文件宏出错 2.2类少 ; 标点 2

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

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 错误类型: 缺失类型表述 错误原因: 函数前未写函数的返回类型,由此导致了这个错误 解决方法: 以后写函数,不管是声明还是定义,都要加上返回类型,尤其是返回类型是VOID时,更要加上 不要省略 error C4430: missing type specifier - int assumed. Note: C++ do

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

最近发现一个奇怪的错误,错误提示如下: 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);

C++ auto类型说明符

本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50864612 编程时常常需要把表达式的值赋给变量,这就要求在声明变量的时候清楚知道表达式的类型.然而要做到这一点并非那么容易,有时候甚至根本做不到.为了解决这个问题,C++11标准引入了auto类型说明符,用它就能让编译器替我们去分析表达式所属的类型. 与原来那些只对应一种特定类型的说明符不同,auto让编译器通过初值来推算变量类型.显