-
-
[求助]请教<<C++ Primer 第三版中文版>>中一处问题,希望各位指点一下
-
发表于: 2008-3-2 23:24 3898
-
//原书319页代码
#include<stdio.h>
#include<iostream.h>
#include <string>
using namespace std;
int compare1(const string &s1 , const string &s2)
{
return 2;
}
int sizecompare(const string & , const string &)
{
return 2;
}
typedef int (*PFI2S)(const string & , const string &); //定义函数类型指针的typedef
PFI2S compareFuncs[2]={compare1, sizecompare}; //函数指针数组
PFI2S (*pfCompare)[2]= &compareFuncs; //定义指向函数指针数组的指针
void main()
{
int c , d;
string a("dfg");
string b("def");
d=pfCompare[0](a,b); //隐式调用compare1--------这里为什么有错呢?
c= ((*pfCompare)[0]) (a,b); //显式调用compare1
cout<<c<<endl<<d<<endl;
}
#include<stdio.h>
#include<iostream.h>
#include <string>
using namespace std;
int compare1(const string &s1 , const string &s2)
{
return 2;
}
int sizecompare(const string & , const string &)
{
return 2;
}
typedef int (*PFI2S)(const string & , const string &); //定义函数类型指针的typedef
PFI2S compareFuncs[2]={compare1, sizecompare}; //函数指针数组
PFI2S (*pfCompare)[2]= &compareFuncs; //定义指向函数指针数组的指针
void main()
{
int c , d;
string a("dfg");
string b("def");
d=pfCompare[0](a,b); //隐式调用compare1--------这里为什么有错呢?
c= ((*pfCompare)[0]) (a,b); //显式调用compare1
cout<<c<<endl<<d<<endl;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: