song4 发表于 2006-10-3 18:41

AJAX,你说的那个函数指针不会用

<P>类里的声明<BR>bool (*p[])();  <BR><BR> 我在这里初始化<BR>template &lt;class T&gt;<BR>List&lt;T&gt;::List()<BR>{<BR>    curr_len=0;<BR>    Pdata=NULL;<BR>    bool (*p[])() ={List&lt;T&gt;::FuctionTextForListCreat,List&lt;T&gt;::FuctionTextForFindListNode,<BR>        List&lt;T&gt;::FuctionTextForDelete,List&lt;T&gt;::FuctionTextForInsert,List&lt;T&gt;::FuctionTextForModify,<BR>        List&lt;T&gt;::ClearList};<BR>}<BR><BR><BR>使用<BR>List&lt;int&gt; tmp;<BR>tmp.p[0]();<BR><BR>     错误<BR> warning C4200: nonstandard extension used : zero-sized array in struct/union<BR>error C2248: 'p' : cannot access private member declared in class 'List&lt;int&gt;'<BR><BR>程序打不开了,你先看这个吧,看不出来我哪天再发上来[em04]<BR>大概意思好象是P没空间.那NEW什么呢,void []????????</P>

myajax95 发表于 2006-10-5 07:51

<P>template&lt;class T&gt;class List<br>{<br>public:<br>    List();<br>    bool FuctionTextForListCreat(void);<br>    bool FuctionTextForFindListNode(void);<br>};</P>
<P>template&lt;class T&gt;<br>List&lt;T&gt;::List()<br>{<br>    bool (List&lt;T&gt;::*p[])(void) = {List&lt;T&gt;::FuctionTextForListCreat, List&lt;T&gt;::FuctionTextForFindListNode};<br>}<br></P>
[align=right][color=#000066][此贴子已经被作者于2006-10-5 7:59:01编辑过][/color][/align]

song4 发表于 2006-11-30 12:48

<P>[em15]</P>
[align=right][color=#000066][此贴子已经被作者于2006-11-30 12:48:59编辑过][/color][/align]


页: [1]

编程论坛