这里为啥会报错?
错误1:
为啥会报这种错误?
#pragma once
#define _CRT_SECURE_NO_WARNINGS
#define MAXSIZE
#include<stdio.h>
#include<string.h>
typedef struct {
char data[MAXSIZE];
int length;
}SqString;
void StrAssign(SqString* s, const char* str);
void DispStr(SqString s);
String.cpp:
#include"String.h"
void StrAssign(SqString* s, const char* str)
{
strcmp(s->data, str);
s->length = sizeof(s->data);
}
void DispStr(SqString s)
{
int i = 0;
printf(s.data);
}
test.cpp:
#include"String.h"
int main()
{
SqString s, s1, s2, s3;
printf("顺序串的基本操作如下:\n");
printf("(1)建立串s和串s1\n");
StrAssign(&s, "abcdefghijklmn");
StrAssign(&s1, "123");
printf("(2)输出串s:");
DispStr(s);
return 0;
}
#define MAXSIZE 后面加上一个数字,比如100
vc++不支持变量数组长度初始化,gcc支持
sizeof在主程序里可以获取长度,但是函数里,数组退化为指针,取不到。
你第三行宏定义 定义了个啥 没大小
#define MAXSIZE 10
抱歉,由于问题给出的信息不够具体,我无法给出有效的解决方案。请提供更具体的示例或代码,以便我能够更好地理解问题并提供解决方案。