读书人

小弟我自己定义的类型修饰符,不会用请

发布时间: 2012-02-27 10:00:22 作者: rapoo

我自己定义的类型修饰符,不会用请大家指教.
char * qq(int)
{
char c[]= "盛大 ";
return c;
}
int main(int argc, char* argv[])
{
typedef char *fun(int); //简单的自定义类型修饰符我懂,但是这样复杂的自定义类型修饰符我却不能理解
//上面所定义的是一个什么数据类型啊,应当怎么配合上面的函数使用啊,请各位帮忙解释一下,谢谢了.
cin.get();
return 0;
}

[解决办法]
typedef char* (*Fun)(int);

Fun f = qq;

f(1);
[解决办法]
一定是楼主写错了,应该如楼上:

typedef char* (*Fun)(int);

定义了一个指向函数的指针类型Fun,指向的函数返回值是char*, 形参是一个int

下面用Fun定义变量,即是指向这种函数的指针了,即:

Fun p=qq;

p(100); //调用方法,相当于qq(100)


另外楼主的qq函数有问题,返回了一个指向栈内变量的指针,是错的,要改一下:

char * qq(int)
{
static char c[]= "盛大 "; //声明为静态即可
return c;
}
[解决办法]
typedef char *fun(int);

函数指针类型

http://dugujian.bokee.com/397878.html

http://www.jr163.org/cup2/21/21479.htm


http://www.webpc8.com/Article/c/zz/200603/Article_4812.html
[解决办法]
MARK && STUDY

读书人网 >C++

热点推荐