用户定义的结构在声明时无法识别并给出类型错误
Posted
技术标签:
【中文标题】用户定义的结构在声明时无法识别并给出类型错误【英文标题】:User defined struct does not recognized and gives type error when declaring 【发布时间】:2021-04-17 18:27:10 【问题描述】:#include <iostream>
#pragma once
using namespace std;
struct Process
string name;
int arrival_time;
int deadline;
int task_count;
int priority;
Stack task_stack;
Process *next;
;
struct Subtask
string name;
int duration;
Subtask *next;
;
struct Stack
Subtask *head;
void init();
void close();
void push(Subtask *in);
Subtask *pop();
bool isEmpty();
;
这个文件是我的源文件之一。当我尝试编译代码时,我得到“‘Stack’没有命名类型;你的意思是‘obstack’吗?”。
【问题讨论】:
Please do not post images of code because they are hard to use. 代码应作为文本直接发布在您的问题中。 这是因为Stack
在使用前没有声明。 Stack
的声明(以及从 Stack
使用的 Subtask
)应该在 Process
的声明之前(使用 Stack
)。
【参考方案1】:
这是因为 Stack 在使用前没有声明。 Stack
(和Subtask
,从Stack
使用)的声明应该在Process
(使用Stack
)的声明之前。
#include <iostream>
#pragma once
using namespace std;
struct Subtask
string name;
int duration;
Subtask *next;
;
struct Stack
Subtask *head;
void init();
void close();
void push(Subtask *in);
Subtask *pop();
bool isEmpty();
;
struct Process
string name;
int arrival_time;
int deadline;
int task_count;
int priority;
Stack task_stack;
Process *next;
;
【讨论】:
以上是关于用户定义的结构在声明时无法识别并给出类型错误的主要内容,如果未能解决你的问题,请参考以下文章
MySQL phpmyadmin - SELECT FOR UPDATE 无法识别
尝试将用户登录到 QBChat 时如何删除错误“无法识别的选择器”