error C2143: 语法错误 : 缺少“;”(在“return”的前面)是怎么回事?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error C2143: 语法错误 : 缺少“;”(在“return”的前面)是怎么回事?相关的知识,希望对你有一定的参考价值。

我是C++的初学者。用VC++2005.net编程里,提示 error C2143: 语法错误 : 缺少“;”(在“return”的前面)。源代码很简单,内容如下:

#include "stdafx.h"
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])

int i = 10;
cout << "\n please input a integer"
return 0;

请问这是怎么回事?

在“return”的前面 -- 在你程序中的 “return” 这个英语词前面。
缺少“; -- 缺少了分号。

即return这个语句的前面那个语句漏了语句结束符号分号。

添上分号语法就正确了。

至于 error C2143 -- 错误类型 2143, 谁也记不住是什么错,反正下面会告诉你,所以不必管它 2143,3143。。。
参考技术A cout << "\n please input a integer"
后面应该加分号,也就是

cout << "\n please input a integer" ;

因为这是一个完整的语句。从错误提示中也可以看出来:error C2143: 语法错误 : 缺少“;”(在“return”的前面)。
参考技术B cout<<"\n please input a integer";//要加分号
//你在这句话结尾没有加分号,所以报错
参考技术C 先自己看一看,不要一遇到问题就想问别人。 参考技术D 这种问题也有人回答阿?真正学习c的人是不会来问这种问题的。狂ft.

是刷分吧?

MFC error C2143: 语法错误 : 缺少“;”(在“*”的前面)

MFC error C2143: 语法错误 : 缺少“;”(在“*”的前面)

error C2143: 语法错误 : 缺少“;”(在“*”的前面)
error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

 

出现问题原因:定义一个类 class A,这个类里面使用了类B的对象b,然后定义了一个类B,里面也包含了一个类A的对象a,就会报这样的错误,如下:

//a.h  
#include "b.h"  
class A  
{  
....  
private:  
    B b;  
};
//b.h  
#include "a.h"  
class B  
{  
....  
private:  
    A a;  
};

一编译,就出现了一个互包含的问题了。

解决办法:此时用到类的前置声明,问题就解决了,如下:

//a.h   
//#include "b.h"  
class B;   
class A   
{  
 ....   
private:  
 B b;   
}; 
//b.h   
#include "a.h"   
class B  
{  
 ....   
private:  
 A a;   
};

 

 



以上是关于error C2143: 语法错误 : 缺少“;”(在“return”的前面)是怎么回事?的主要内容,如果未能解决你的问题,请参考以下文章

error C2143: 语法错误 : 缺少“;”(在“return”的前面)是怎么回事?

C语言 error C2143: 语法错误 : 缺少“;”(在“类型”的前面)?

VS编译错误:error C2143: 语法错误 : 缺少“;”(在“类型”的前面)

Windows Visual C++ 2019 试图传递预处理器变量(Linux 中的 -D)错误 C2143:语法错误:缺少 ';'在“常数”之前

Cerror C2143: 语法错误 : 缺少“;”(在“类型”的前面)

error C2143: syntax error : missi 是啥错误?