锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久婷婷五月综合国产尤物app,欧美激情精品久久久久,久久婷婷国产麻豆91天堂http://m.shnenglu.com/izualzhy/category/18368.html鍧氭寔 鐩鎬俊鑷繁zh-cnTue, 13 Dec 2011 14:16:40 GMTTue, 13 Dec 2011 14:16:40 GMT60error: wrong number of template argumentshttp://m.shnenglu.com/izualzhy/archive/2011/12/13/162055.htmlizualzhyizualzhyTue, 13 Dec 2011 13:41:00 GMThttp://m.shnenglu.com/izualzhy/archive/2011/12/13/162055.htmlhttp://m.shnenglu.com/izualzhy/comments/162055.htmlhttp://m.shnenglu.com/izualzhy/archive/2011/12/13/162055.html#Feedback0http://m.shnenglu.com/izualzhy/comments/commentRss/162055.htmlhttp://m.shnenglu.com/izualzhy/services/trackbacks/162055.html紕板埌涓涓猠rror錛歸rong number of template arguments鐨勯敊璇紝涓嶈繃鎴戝啓鐨勫弬鏁頒釜鏁版槸娌℃湁闂鐨勩傜櫨鎬濅笉寰楀叾瑙o紝涓婄綉鎼滀簡涓嬶紝鐪嬪埌榪欓噷鐨勪竴涓緥瀛愶細

http://stackoverflow.com/questions/851584/default-template-class-argument-confuses-g

璺熸垜閬囧埌鐨勯棶棰樹竴鏍鳳紝緲昏瘧浜嗕竴灝忛儴鍒嗭紝浣滀負絎旇錛屽鏋滃摢涓湴鏂圭悊瑙i敊璇涓瀹氭寚鍑恒傝嫳璇ソ鐨勫彲浠ョ洿鎺ョ暐榪囪繖綃囨枃绔犱簡銆?

涓嶅緱涓嶆劅鍙規(guī)ā鏉跨紪紼嬮亣鍒扮殑闂鐪熼毦鐞嗚В銆?

鍏堝啓涓緥瀛愮▼搴忥細

template<typename A,typename B>

class Foo {};

struct Bar {

void method( Foo<int,int> const &stuff = Foo<int,int>());

};

int main()

{

return 0;

}

濡傛灉Foo鏄崟妯℃澘鐨勮瘽錛屾病鏈夐棶棰樼殑銆?

緙栬瘧浜嗕笅錛岀湅涓嬭緭鍑猴細

$ g++-4.3 test.cpp

test.cpp:5: error: expected 鈥?鈥?or 鈥?..鈥?before 鈥?gt;鈥?token

test.cpp:5: error: wrong number of template arguments (1, should be 2)

test.cpp:2: error: provided for 鈥榯emplate<class A, class B> class Foo鈥?

test.cpp:5: error: default argument missing for parameter 2 of 鈥榲oid Bar::method(const Foo<int, int>&, int)鈥?

$ g++-4.4 test.cpp

$

鍙互鐪嬪埌g++4.3緙栬瘧閿欒錛実++4.4鍗寸紪璇戠殑榪囥?

鎺ヤ笅鏉ヤ負浜嗛槓榪拌繖涓棶棰橈紝鎴戠粺涓浣跨敤g++4.3鏉ョ紪璇戙?

緙栬瘧鍣ㄨ涓烘垜鎯寵鍐欒繖涔堜竴涓嚱鏁幫細

void Bar::method(const Foo<int, int>&, int)

鍙緙栬瘧鍣ㄧ悊瑙i敊浜嗗彉閲忕被鍨嬶紝鐢╰ypedef鎸囧畾涓涓嬬湅鐪嬶紝淇敼涓婇潰鐨勪緥瀛愶細

struct Bar {

typedef Foo<int,int> FooType;

void method( FooType const &stuff = FooType());

};

緙栬瘧閫氳繃錛?

涓嶈繃鍒板簳鏄負浠涔堝憿錛?

鍏堢湅涓嬭繖涔堜慨鏀硅涓嶈錛?/p>

struct Bar {

void method( Foo<int,int> const &stuff = (Foo<int,int>()));

};

鍔犱簡鎷彿錛屽悓鏍峰彲浠~

涓轟簡璇存竻妤氾紝鍏堢湅涓涓嬩互涓嬬殑浠g爜錛?/p>

struct Bar {

void method(int i = j);//鈥檍鈥?not declared yet

static const int j = 0;

};

榪欐牱緙栬瘧鏄病鏈夐棶棰樼殑錛屽敖綆鏈0鏄庯紝浣嗙紪璇戝櫒鍙互鍒嗘瀽鍑簀鏉ャ?

鑰岀紪璇戝櫒鏄繖涔堢湅寰呮垜浠渶涓婇潰鐨勪唬鐮佺殑錛?/p>

void method ( Foo<int,int> const& stuff = Foo<int // Arg 1 with dflt.

, int>() ); // Arg 2 - syntax error

榪欏氨涓嶉毦鐞嗚В緙栬瘧鍣ㄦ姤鐨勯敊璇簡錛屽鍔犱簡涓瀵規(guī)嫭鍙峰彲浠ヤ繚璇佺紪璇戝櫒鐞嗚В姝g‘銆?

鍚屾椂錛孴he following case shows an example where g++ succeeds but Comeau still generates a syntax error:

template<int J, int K>

class Foo { };

struct Bar {

void method ( Foo<0, 0> const & i = ( Foo<j, k> () ) );

static const int j = 0;

static const int k = 0;

};

緇х畫寤朵幾涓涓嬶紝涓轟粈涔堝鍙傛暟鐨勫嚱鏁拌皟鐢ㄦ斁鍦ㄥ悓鏍風殑浣嶇疆涓嶄細鍑洪敊鍛紵姣斿錛?/p>

int foo(int,int,int);

struct Bar {

void method(int i = foo(0,0,0));

};

鍥犱負緙栬瘧鍣ㄦ槸榪欎箞鐞嗚В涓婇潰鐨勪唬鐮佺殑錛?/p>

int foo (int, int, int);

struct Bar {

void method ( int j =

foo (0, 0, 0) ); // Comma's here are inside ( )

};

涓轟粈涔堢紪璇戝櫒鍦ㄨ繖閲岀悊瑙e浜嗗憿錛熷叾瀹炰笉闅劇寽嫻嬶紝C++瑕佹眰鎵鏈夌殑鎷彿蹇呴』閰嶅錛屸?鈥欏氨鎰忓懗鐫鏈変竴涓?鈥欏湪鍚庨潰銆備絾妯℃澘鍙傛暟閲岀殑鈥?lt;鈥欎笉鍚岋紝C++鍏佽瀵光?lt;鈥欓噸杞姐?

The reason for the problem here is that '<' does not need to be matched, since it is overloaded in C++ and so can be the less than operator or the start of a template argument list.

鐪嬩笅榪欎釜渚嬪瓙灝辨槑鐧戒簡錛?/p>

template<int I, int J>

class Foo { };

struct Bar {

template <typename T> struct Y { };

void method ( ::Foo<0,0> const& stuff = Foo<10 , Y < int > = Y<int>() );

struct X {

::Foo<0, 0> operator< (int);

};

static X Foo;

};

緙栬瘧娌℃湁闂錛屽洜涓鴻繖閲屾病鏈変粈涔堥粯璁ゆā鏉垮弬鏁幫紝瀹為檯涓婃槸涓や釜鍙傛暟銆傘傘傘傘傘?

izualzhy 2011-12-13 21:41 鍙戣〃璇勮
]]>
鍏充簬妯℃澘鎴愬憳綾誨瀷寮曞彂鐨勯敊璇?error: expected `;' before &lsquo;iter&rsquo;http://m.shnenglu.com/izualzhy/archive/2011/12/13/162054.htmlizualzhyizualzhyTue, 13 Dec 2011 13:39:00 GMThttp://m.shnenglu.com/izualzhy/archive/2011/12/13/162054.htmlhttp://m.shnenglu.com/izualzhy/comments/162054.htmlhttp://m.shnenglu.com/izualzhy/archive/2011/12/13/162054.html#Feedback0http://m.shnenglu.com/izualzhy/comments/commentRss/162054.htmlhttp://m.shnenglu.com/izualzhy/services/trackbacks/162054.html鍏堢湅涓涓緥瀛愶細

#include <vector>

template<typename T>

class Foo {

};

template<typename T>

void method()

{

std::vector<Foo<T> > vecFoo;

std::vector<Foo<T> >::iterator iter = vecFoo.begin();

}

緙栬瘧鏄氫笉榪囩殑銆?

瑙e喅鍔炴硶錛?

typename std::vector<Foo<T> >::iterator iter = vecFoo.begin();

灝卞彲浠ヤ簡銆?

Effective C++:浜嗚Вtypename鐨勫弻閲嶆剰涔夐噷鍋氫簡瑙i噴銆?

闇瑕佺敤typename鍛婅瘔瑙f瀽鍣ㄨ繖鏄釜綾誨瀷錛屽惁鍒欑紪璇戝櫒浼氬綋鍋氱浉搴旂殑闈欐佸彉閲忔潵澶勭悊銆傛瘮濡?C鏄竴涓ā鏉跨被錛?

C::iterator* x;緙栬瘧鍣ㄤ細鐞嗚В涓烘槸C鐨勯潤鎬佸彉閲忎箻涓妜鈥︹?

izualzhy 2011-12-13 21:39 鍙戣〃璇勮
]]>
欧美色综合久久久久久| 亚洲欧美日韩久久精品第一区| 久久被窝电影亚洲爽爽爽| 51久久夜色精品国产| 亚洲国产精品综合久久一线 | 2021国产成人精品久久| 久久精品国产第一区二区| 久久综合久久综合亚洲| 久久99精品久久久久久动态图| 久久99精品久久久久久野外| 婷婷国产天堂久久综合五月| 国产精品久久久久AV福利动漫| 久久国产精品视频| 99国产欧美久久久精品蜜芽| 免费一级做a爰片久久毛片潮| 欧美喷潮久久久XXXXx| 亚洲综合久久夜AV | 91久久香蕉国产熟女线看| 亚洲AV乱码久久精品蜜桃| 久久人人爽人人爽人人片AV麻豆 | 久久无码中文字幕东京热| a级毛片无码兔费真人久久| 久久久久亚洲av无码专区导航| 久久亚洲国产精品五月天婷| 国产91色综合久久免费| 欧美丰满熟妇BBB久久久| 色播久久人人爽人人爽人人片AV| 国产精品欧美亚洲韩国日本久久| 狠狠狠色丁香婷婷综合久久俺| 天天躁日日躁狠狠久久| 亚洲色欲久久久综合网| 久久久这里只有精品加勒比| 日本久久中文字幕| 久久久亚洲精品蜜桃臀| 久久久综合香蕉尹人综合网| 久久久久夜夜夜精品国产| 99久久中文字幕| 91久久精品视频| 久久精品成人影院| 免费精品久久久久久中文字幕| 久久国产成人午夜aⅴ影院|