【发布时间】:2020-07-28 21:40:40
【问题描述】:
任务:编写一个程序,在函数中使用指向字符串的指针来使用结构确定字符串中的字符数。
编译器抛出错误:
error: invalid conversion from 'char' to 'const char*' [-fpermissive]
8 | cout << strlen(a);
| ^
| |
| char
这是我的代码:
#include <iostream>
#include <cstring>
using namespace std;
void func(char a)
{
cout << strlen(a);
}
int main()
{
struct student
{
char name[64];
};
student student1;
cin >> student1.name;
char* ptr = &student1.name[64];
func(*ptr);
return 0;
}
【问题讨论】:
-
Либо перепишите вопрос на английском языке, либо удалите его и задайте на ru.stackoverflow.com
-
strlen函数需要pointer到一个字符,而不是单个字符。你的编译器应该给你一个错误或警告。我建议您将错误和警告级别调到最高。
标签: c++ c-strings strlen function-definition