2014-01-31 207 views
0

我有一个函数无法传递的char []作为参数传递给函数

int Customer::myFunction(char * cPhoneNumber) 
{ 
    //Something here 
} 

,我试图调用此函数像一个参数:

char cPhoneNumber[MAX_STRING_LENGTH]; //MAX_STRING_LENGTH = 256 
memset(cPhoneNumber, 0, sizeof(cPhoneNumber)); 
//Some value assigned 
myFunction(cPhoneNumber); 

,但我得到这个错误这里:

cannot convert parameter 1 from 'char [256]' to 'char' 

为什么我无法通过这个,请帮助。

+0

看起来像一个编译错误。你确定吗?这是产生这个错误的实际代码?只需使用'int Customer :: myFunction(char [MAX_STRING_LENGTH] cPhoneNumber)'。另外,请不要使用'memset',这些恐龙在很多年以前都会死掉:)) –

+0

你确定你在声明中有星号'myFunction'?错误说你不知道。 –

+1

怎么样char []或char * const – tom87416

回答

1

错误是告诉你的是,声明Customer::myFunction居然是:

Customer::myFunction(char cPhoneNumber); // note char, not char* 

你给我们的定义,而不是声明。要么,要么你没有正确发布你的定义。

相关问题