#include <iostream>
using namespace std;
#include <string>//只要涉及string打印输出要加此文件!!!
struct  student
{
	string name; 
	int age;
	int score;
};
//1、struct 结构体名 变量名;
struct student s1;
s1.name = "mike";//报错:此声明没有存储类或类型说明符!!!
s1.age = 12;//报错:此声明没有存储类或类型说明符!!!
s1.score = 90;//报错:此声明没有存储类或类型说明符!!!

int main()
{

	system("pause");
	return 0;
}

上述代码报错:
在这里插入图片描述
报错提示:s1 此声明没有存储类或类型说明符!

查资料找到原因如下:

类内函数体外只能定义全局变量和对象,不能执行语句或调用函数。

错误原因: 16/17/18三行语句应该放在函数体内执行!!!不应该放在函数体外!!!

#include <iostream>
using namespace std;
#include <string>//只要涉及string打印输出要加此文件!!!
struct  student
{
	string name; 
	int age;
	int score;
};
int main()
{
    //1、struct 结构体名 变量名;
   struct student s1;
   s1.name = "mike";//报错:此声明没有存储类或类型说明符!!!
   s1.age = 12;//报错:此声明没有存储类或类型说明符!!!
   s1.score = 90;//报错:此声明没有存储类或类型说明符!!!
	
	system("pause");
	return 0;
}

把 16/17/18三行语句应该放在函数体内不在报错!

在这里插入图片描述
即:函数体外只能进行如变量或函数定义声明等,不能执行语句或调用函数!!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐