精华内容
下载资源
问答
  • C++ 中Error:此声明没有存储类或类型说明符 遇到的问题 今天在学习视频自己打代码的时候遇见一个问题。我练的是一个随机数问题,需要一个产生随机数的srand()函数。但当我把这个函数写上的时候 srand((unsigned int...

    C++ 中Error:此声明没有存储类或类型说明符


    遇到的问题

    今天在学习视频自己打代码的时候遇见一个问题。我练的是一个随机数问题,需要一个产生随机数的srand()函数。但当我把这个函数写上的时候

    srand((unsigned int)time (NULL));

    发现出错了。

    Error: 此类型没有存储类或类型说明符。

    本来以为是因为缺少头文件,或者头文件没写对。

    1.然后在CSDN中看到只需在主程序开始处调用srand()。

    2.不要在for等循环放置srand((unsigned)time(NULL));

    插入图片

    图片: 这里插入图片描述

    把srand放进main()函数里就OK啦。

    代码

    int main()
    {
    srand((unsigned int)time (NULL));
    int num=rand()%100+1;
    int a=0;
    
    //cout<<num<<endl;//打印拿到的随机数
    cout<<"请输入一个整数:"<<endl;
    
    while(1)
    {
    	cin>>a;
    	if(a>num)
    	{
    		cout<<"您猜大了!请继续!"<<endl;
    	}else if(a<num){cout<<"您猜小了!请继续!"<<endl;}
    	else{
    		cout<<"恭喜您猜对了!"<<endl;
    		break;//退出
    	}
    	
    }
    
    return 0;
    }
    
    
    

    说明

    1.这里还有一个问题没解决,因为我用的是VS2010,所以没有问题,当我用DEVC++的时候还会出现错误,现在还没解决!等解决了之后再来修改!
    2.这是自己第一次写这样的博客,以后还会继续,记录自己的学习。有一句话叫做:当你觉得为时已晚的时候恰恰是最早的时候。我把这句话送给自己,加油!我是一只小菜鸡,咿呀咿呀哟!

    展开全文
  • c++ 此声明没有存储类或类型说明符

    万次阅读 多人点赞 2020-06-07 15:57:27
    #include <iostream> using namespace std; #include <string>//只要涉及string打印输出要加文件!...//报错:此声明没有存储类或类型说明符!!! s1.age = 12;//报错:此声明没有
    #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三行语句应该放在函数体内不在报错!

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

    展开全文
  • 此声明没有存储类或类型说明符 在函数体外进行赋值的时候就会出现这个问题。 比如 out_type convert(const in_value& t) { //sample1 stringstream stream; stream << t; out_type result; stream ...

    问题描述

    在学习案例的时候遇到一个知识点,顺手在源文件空白处编辑了一段,发现vs开始报错

    严重性说明
    错误(活动)此声明没有存储类或类型说明符

    在函数体外进行赋值的时候就会出现这个问题。

    比如

    out_type convert(const in_value& t) {
    	//sample1
    	stringstream stream;
    	stream << t;
    	out_type result;
    	stream >> result;
    	return result;
    	
    }
    	//sample2
    	double d;
    	string salary;
    	string s = "12.56";
    	d = convert<double>(s);
    	salary = convert<string>(9000.0);
    	std::stringstream sstream(s);
    

    在倒数2、3行的变量d和salary就会出现这个错误。

    解决办法就是把这段代码,改到函数体内部。

    out_type convert(const in_value& t) {
    	//sample1
    	stringstream stream;
    	stream << t;
    	out_type result;
    	stream >> result;
    	return result;
    	
    	//sample2
    	double d;
    	string salary;
    	string s = "12.56";
    	d = convert<double>(s);
    	salary = convert<string>(9000.0);
    	std::stringstream sstream(s);
    }
    

    这里代码应用了模板,又放回模板定义内,并没有报错,我们先不管这段代码有没有bug
    但的确解决了声明缺失的错误,说明思路正确

    根本原因

    函数外只能定义全局变量或者对象 ,而不能执行语句及调用函数 。

    报错语句对变量进行了赋值操作,而本段代码是在函数之外

    关于错误说明

    错误说明中“此声明没有类型说明符”可以理解:编译器将该句识别为变量声明,正确格式为声明时赋值;

    什么是“存储类”,现在不知道,继续学习,以后解答。

    展开全文
  • 此声明没有存储类或类型说明符

    千次阅读 2019-01-11 20:41:09
    错误类型如下: 函数体外进行赋值的时候会出现这个问题。 比如 int n; n = 1; int main() { return 0;...而赋值应该属于执行语句这一。...版权声明:本文为博主原创文章,转载请附上博文链接!

    错误类型如下:
    函数体外进行赋值的时候会出现这个问题。

    比如

    int n;
    n = 1;
    int main()
    {
    	return 0;
    }
    


    在第二行的时候就会出现这个错误。

    解决办法就是去掉函数体外的赋值(n=1),改到函数体内部。

    int n;
    int main()
    {
    	n = 1;
    	return 0;
    }
    

    在百度知道上找到一个回答,上面说

    “函数外只能定义全局变量或者对象 ,而不能执行语句及调用函数  。”
    而赋值应该属于执行语句这一类。


    原文:https://blog.csdn.net/qq_41068877/article/details/80779500 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 此声明没有存储类或类型说明符”的错误,例如一下所示: int a; a = 1; void main(void) { return true; } 解决方法: 全局变量或者对象可以在函数外部定义,但是变量的赋值只能在函数内部 int a; void ...
  • C++错误:此声明没有存储类或类型说明符 原因:在函数体外进行赋值 #include "pch.h" #include &lt;iostream&gt; #include "15311002_2.h" using namespace std; namespace N15311002 {...
  • C++ 此声明没有存储类或类型说明符

    千次阅读 2018-09-09 10:23:01
    今天在写程序的时候发现了这样的一个问题,我在一个类中定义另一个类的对象的时,报出了“此声明没有存储类或类型说明符”,百思不得其解,百度了一下也没有人遇到我这种问题,查看了相关的书籍发现自己调用的方式也...
  • 此声明没有存储类或类型说明符?

    千次阅读 2017-08-16 14:16:54
    不能在声明类中和初始化函数体中实现对象初始化,不然会报错 #pragma once //单例模式,记录其他任务的处理信息: /* 1 报告是否完成 2 报告发生异常更新事件 3 报告没有完成 */ typedef enum { ...
  • 错误(活动) E0077 此声明没有存储类或类型说明符 4.13 c:\Users\dell\Desktop\c++primerPlus6课后题\第四章\4.13\4.13\4.13\326.cpp 28 在函数体外进行赋值的时候就会出现这个问题。比如int n;n = 1; int main() { ...
  • 还是介绍一下这个错误类型——此声明没有存储类或类型说明符,即在函数外只能定义全局变量和对象,不能执行语句或调用函数。这里就属于在main函数外执行了语句。 ![如图,main外写了语句]...
  • 错误:此声明没有存储类或类型说明符 情况描述: 今天在写程序的时候遇到了这个错误,原因很简单,就是在头文件中声明类的时候,函数的声明写错了,例如: class a { a(); //构造函数 ~a();//析构函数 ...
  • 解决方法: 将 Java\jdk1.8.0_40\include\ jni.h Java\jdk1.8.0_40\include\win32\jni_md.h Java\jdk1.8.0_40\include\win32\jawt_md.h 这个3个文件拷贝到 Microsoft Visual Studio  ...
  • C++ 是用srand函数, ``` #include #include #include #include #include #include using namespace std;...都没用,再调用srand()还是报没有存储类或类型说明符。到底应该包含哪个头文件呢?
  • 在vs 2010 中写C++,如果在int main()函数外定义...系统会报错,显示声明没有存储类或类型说明符”,但是如果将这两个语句放在main函数中,vs 2010 不会报错。请问是为什么?vector类型不能定义在函数外?谢谢!
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    若一个类没有声明构造方法,改程序能正确执行吗?为什么? 构造方法有哪些特性? 静态变量和实例变量区别 静态变量与普通变量区别 静态方法和实例方法有何不同? 在一个静态方法内调用一个非静态成员为什么是非法的...
  • 29 IntelliSense: 此声明没有存储类或类型说明符 c:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\sstream 149 4 Project1 37 IntelliSense: 此声明没有存储类或类型说明符 c:\Program Files ...
  • G:\ZhouGF\Caffe测试\include2\caffe/proto/caffe.pb.h(1402): error C2071: “caffe::FillerParameter::FillerParameter_default_instance_”: 非法的存储类 1>G:\ZhouGF\Caffe测试\include2\caffe/proto/caffe....
  • 的定义:类声明体。基本格式如下: class 类名{ 体 } 特点: 1、是Java程序的基本要素,一个Java应用程序就是由若干个所构成; 2、类声明的变量称为对象变量,也简称 对象 ; 3、class 关键字是...
  • C语言 存储类说明符

    千次阅读 多人点赞 2017-03-07 16:39:38
    存储类 有关C语言的存储类,推荐的参考资料:C Primer Plus ,其中有一章专门讲解这个; 在理解C的存储类之前,首先要搞懂的概念有:作用域、生存周期、连接属性 C中的存储类说明符实际上是上述属性的不同组合...
  • typedef介绍

    万次阅读 多人点赞 2019-08-21 17:18:48
    本文介绍typedef的用法。 1. 概述 typedef为C语言的关键字,...typedef本身是一种存储类的关键字,与auto、extern、static、register等关键字不能出现在同一个表达式中。 2. 作用及用法 2.1 typedef的用法 使用...
  • strcpy没有声明 c++头文件详解

    万次阅读 2010-10-23 12:19:00
    协议分发程序程序在公司机器上编译运行良好,而我在我的虚拟机上编译,却出下如下错误:msg.cpp:3101: error: ‘strcpy’ was not declared in this scope查看源码已经包含了相关头文件及命名空间,如下:...
  • C++学习-存储类关键字

    千次阅读 2017-10-25 14:03:45
    存储类关键字1 说明存储类关键字是名称声明语法的decl-specifier-seq的一部分。和名称的作用域一起,控制着名称的两个独立属性,自动存储期和链接属性。
  • 解决: 分析:不明白是什么原因,猜测为加载库的顺序问题,或内部代码出现定义冲突情况等。。。。。。。。
  • C++ 存储类的含义和区别

    千次阅读 2017-01-10 21:43:40
    C++中有五种类型的存储类存储类是管理对象的生存期、链接、内存位置的类型说明符。这些说明符放在需要修饰的变量类型前。 auto register static extern mutable 1、说明符的作用是用来定义 变量/函数 的...
  • HashMap

    千次阅读 多人点赞 2018-09-25 12:09:44
    前一部分是拿的大佬的在这声明,后部分是自己看课程总结的 在这里贴上大佬的地址:https://www.jianshu.com/p/52066d6b7717 1.HashMap的实现原理 1,HashMap概述 HashMap 是基于哈希表的 Map 接口的非同步实现。...
  • C语言的五种存储类

    千次阅读 2017-08-02 10:24:57
    五种存储类C Primer Plus 第十二章 存储类、链接和内存管理 存储类 时期 作用域 链接 声明方式 自动 自动 代码块 空 代码块内 寄存器 自动 代码块 空 代码块内,使用关键字register 具有外部连接的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 576,739
精华内容 230,695
关键字:

此声明没有存储类