我用数组的指针取地址不能当指针的指针吗
int evalRPN(char** tokens, int tokensLen );
int main()
{ int num;
num=evalRPN( &x, 1);
8 [Error] cannot convert 'char ()[1]' to 'char' for argument '1' to 'int evalRPN(char*, int)'
这是报错
char** tokens是双重指针,如果x是一个指针,对x取值传过来是对的,如果x是一个数组,对x取值,相当于一重指针,传过来就不匹配。修正的代码如下,buffer是一个数组,x为指向数组的指针,对x取值传递是二重指针,这样就没问题了:
#include <stdio.h>
int evalRPN(char** tokens, int tokensLen )
{
}
int main()
{
int num;
char buffer[5];
char *x = buffer;
num=evalRPN( &x, 1);
}