如何修复 C++ 中的 'cannot convert char to char*' 错误?

How to fix 'cannot convert char to char*' error in C++?

我正在尝试使用指针反转字符串,我想这是一个非常标准的程序。

我尝试使用单个指针来执行此操作,这与我见过的人们使用两个指针作为开始和结束的其他方法不同。

#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
void main()
{
 clrscr();
 char x[15];
 cout<<"enter word";
 gets(x);
 int l=strlen(x);
 char* p;
 p=x[15];
 for(int i=l-1;i>=0;i++)
 {
  p*=x[i];
  p--;
 }
 puts(x);
 getch();
}

我希望它能工作,但它显示了一个错误,即它无法将 char* 转换为 char。我对指针很陌生,但我认为指针只是内存位置的别名,所以有什么问题吗?还是我遗漏了一些基本的东西?

将星号放在 p 之前以取消引用它。

*p=x[i];

此外,当您分配 p = x[15] 时,您正在取消引用 x(这使它成为 char)并将其分配给 p(这是一个 char*).