qq_43412960 2019-12-18 14:40 采纳率: 75%
浏览 456
已采纳

这是一个关于数据结构线性表的问题


#include<iostream>

using namespace std;
#define OK 1
#define MAXSIZE 10000
#define OVERFLOW -1

int main()
{

typedef  struct 
{
char  no[20];
char name[50];
float price;

}Book;
typedef  struct
{
Book *elem;
int length;
}SqList;
SqList L;

return 0;
}
int a(SqList L)
{
    return OK;
}

上面是我写的代码,编译后
--------------------Configuration: 线性表 - Win32 Debug--------------------
Compiling...
线性表.cpp
E:\数据结构\线性表.cpp(24) : warning C4101: 'L' : unreferenced local variable
E:\数据结构\线性表.cpp(28) : error C2065: 'SqList' : undeclared identifier
E:\数据结构\线性表.cpp(28) : error C2146: syntax error : missing ')' before identifier 'L'
E:\数据结构\线性表.cpp(28) : error C2059: syntax error : ')'
E:\数据结构\线性表.cpp(29) : error C2143: syntax error : missing ';' before '{'
E:\数据结构\线性表.cpp(29) : error C2447: missing function header (old-style formal list?)
Error executing cl.exe.

线性表.exe - 5 error(s), 1 warning(s)
显示上述错误,为什么呢?

  • 写回答

2条回答 默认 最新

  • threenewbee 2019-12-18 16:31
    关注

    你的写法很奇怪,一般来说,结构体的定义应该放在函数的定义之外。

    #include<iostream>
    
    using namespace std;
    #define OK 1
    #define MAXSIZE 10000
    #define OVERFLOW -1
    typedef  struct 
    {
    char  no[20];
    char name[50];
    float price;
    
    }Book;
    typedef  struct
    {
    Book *elem;
    int length;
    }SqList;
    int a(SqList L);
    int main()
    {
    SqList L;
    a(L);
    return 0;
    }
    int a(SqList L)
    {
        return OK;
    }
    

    这样才make sense

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 本地测试网站127.0.0.1 已拒绝连接,如何解决?(标签-ubuntu)
  • ¥50 Qt在release捕获异常并跟踪堆栈(有Demo,跑一下环境再回答)
  • ¥30 python,LLM 文本提炼
  • ¥15 关于将inet引入的相关问题
  • ¥15 关于一个倒计时的操作和显示设计
  • ¥15 提问STK的问题,哪位航天领域的同学会啊
  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 如何卸载arcgis 10.1 data reviewer for desktop