char型指针问题
#include<iostream>using namespace std;
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 40
typedef int Status;
typedef int ElemType;
typedef char String;
Status StrAssign(String T, char* chars)
{
int i;
if (strlen(chars) > MAXSIZE)
return ERROR;
else
{
T = strlen(chars);
for (i = 1; i <= T; i++)
T = *(chars + i - 1);
return OK;
}
}
int main()
{
int i, j;
Status k;
char s;
String t, s1, s2;
cout << "请输入串s1:";
k = StrAssign(s1, "abcd");
return 0;
}
出现了
E0167 "const char *" 类型的实参与 "char *" 类型的形参不兼容
字符串的类型不是char *,是const char *
Status StrAssign(String T, char* chars)
Status StrAssign(String T, const char* chars) 人造人 发表于 2022-11-29 15:23
字符串的类型不是char *,是const char *
Status StrAssign(String T, char* chars)
Status StrAssign( ...
和C的定义有很大不同,这样定义形参是固定的么{:10_243:} 1094570635 发表于 2022-11-29 15:31
和C的定义有很大不同,这样定义形参是固定的么
C++中的字符串常量的类型不是char *,是const char *
类型不一样就报错了
人造人 发表于 2022-11-29 15:35
C++中的字符串常量的类型不是char *,是const char *
类型不一样就报错了
明白了
页:
[1]