lemene
隨筆 - 51, 文章 - 1, 評論 - 41, 引用 - 0
數(shù)據(jù)加載中……
vc2005無法編譯通過《從集合中枚舉子集》中的代碼
前些日子整理代碼,發(fā)現(xiàn)《從集合中枚舉子集》中的代碼無法在
VC2005
上編譯通過。當時只在
DevC++
上編譯,沒有考慮
VC2005
與
gcc
的區(qū)別。仔細查找,問題出在
CSetIterAgent
的構(gòu)造函數(shù)的參數(shù)上。下面是一段簡化的代碼,會出現(xiàn)同樣的問題。
#include
<
vector
>
template
<
typename
Type
>
class CTest
{
public
:
enum Data
{
A,
B
};
public
:
CTest(
const
std::vector
<
Type
>&
set
, CTest::Data data
=
CTest::A){};
~CTest(){};
};
int
main(void)
{
std::vector
<
int
>
set
;
CTest
<
int
>
test(
set
);
CTest
<
int
>
::Data a
=
CTest
<
int
>
::A;
return
0
;
}
用vc2005編譯出現(xiàn)的錯誤如下
1
>
d:
\
work
\
c
++\
vc
\
qt
\
qt
\
main.cpp(
12
) : warning C4346:
'
CTest<Type>::Data' : dependent name is not a type
1
>
prefix
with
'
typename' to indicate a type
1
>
d:
\
work
\
c
++\
vc
\
qt
\
qt
\
main.cpp(
14
) : see reference
to
class template instantiation
'
CTest<Type>' being compiled
1
>
d:
\
work
\
c
++\
vc
\
qt
\
qt
\
main.cpp(
12
) :
error
C2226: syntax
error
: unexpected type
'
std::vector<Type>'
1
>
d:
\
work
\
c
++\
vc
\
qt
\
qt
\
main.cpp(
12
) :
error
C2334: unexpected token(s) preceding
'
{'; skipping apparent function body
1
>
d:
\
work
\
c
++\
vc
\
qt
\
qt
\
main.cpp(
12
) : fatal
error
C1903: unable
to
recover from previous
error
(s); stopping compilation
1
>
d:
\
work
\
c
++\
vc
\
qt
\
qt
\
main.cpp(
19
) : see reference
to
class template instantiation
'
CTest<Type>' being compiled
1
>
with
1
>
[
1
>
Type
=
int
1
>
]
但在gcc下可以通過。如果把代碼
CTest(
const
std::vector
<
Type
>&
set
, CTest::Data data
=
CTest::A){};
改為
CTest(
const
std::vector
<
Type
>&
set
, CTest
<
Type
>
::Data data
=
CTest
<
Type
>
::A){};
問題同樣。如果改成下面形式
CTest(
const
std::vector
<
Type
>&
set
){};
則vc2005和gcc都可以通過。
有一句忘了出處的名言:“我知道萬有引力是怎么工作的,但我不知道它為什么這樣工作”。現(xiàn)在我也知道怎樣寫會有問題,但我不知道為什么會有這樣的問題。希望能和大家多多交流,我的郵箱
lemene@sina.com
。
posted on 2007-11-09 16:54
lemene
閱讀(366)
評論(0)
編輯
收藏
引用
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © lemene
導航
C++博客
首頁
新隨筆
聯(lián)系
聚合
管理
<
2007年11月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2017年12月 (1)
2016年10月 (2)
2016年4月 (7)
2016年1月 (1)
2015年12月 (1)
2015年11月 (2)
2015年9月 (1)
2015年8月 (2)
2015年3月 (1)
2015年1月 (1)
2014年12月 (3)
2014年6月 (2)
2014年5月 (2)
2012年8月 (1)
2011年12月 (1)
2011年6月 (1)
2011年1月 (1)
2010年8月 (1)
2009年8月 (1)
2009年5月 (1)
2008年6月 (1)
2008年5月 (1)
2008年3月 (4)
2008年1月 (5)
2007年12月 (1)
2007年11月 (4)
2007年10月 (1)
2007年9月 (1)
文章檔案
2016年4月 (1)
搜索
最新隨筆
1.?
2.?K近鄰算法
3.?title
4.?CPPEXP —— 構(gòu)造函數(shù)拋異常
5.?CPPEXP —— 構(gòu)造析構(gòu)函數(shù)調(diào)用順序
6.?CPPEXP —— char[]和char*的區(qū)別
7.?CPPEXP —— 字符串常量
8.?CPPEXP —— 字節(jié)序(大小端)
9.?CPPEXP —— 類成員初始化順序
10.?CPPEXP —— 空類的大小
最新評論
1.?re: CPPEXP —— char[]和char*的區(qū)別
char[]和char*的區(qū)別 mark下
--linda
2.?re: VS中運行控制臺程序,界面不停留[未登錄]
console.readkey();
--Darren
3.?re: 智力題:5個強盜分100個金幣
試一下不登陸可不可以評論
--xxoo
4.?re: VS2010調(diào)試斷點不起作用的解決方法[未登錄]
剛都可以不知動了那里,就出現(xiàn)斷點不能調(diào)試了。
編譯都是正確的。問題出在那里呢。
--liu
5.?re: 計算24點[未登錄]
評論內(nèi)容較長,點擊標題查看
--lemene
閱讀排行榜
1.?title(13261)
2.?(11530)
3.?VS2005調(diào)試斷點不起作用的解決方法(8123)
4.?智力題:5個強盜分100個金幣(7211)
5.?猜數(shù)字的一種解法(5322)
評論排行榜
1.?智力題:5個強盜分100個金幣(10)
2.?VS2005調(diào)試斷點不起作用的解決方法(10)
3.?拼圖游戲(6)
4.?猜數(shù)字的一種解法(5)
5.?簡易統(tǒng)計程序運行時間的程序(3)
久久美女人爽女人爽
|
精品欧美一区二区三区久久久
|
伊人久久无码精品中文字幕
|
精品久久久中文字幕人妻
|
久久亚洲AV成人出白浆无码国产
|
久久本道伊人久久
|
亚洲国产成人久久精品99
|
好属妞这里只有精品久久
|
日韩久久无码免费毛片软件
|
国产高潮国产高潮久久久
|
久久大香萑太香蕉av
|
久久最近最新中文字幕大全
|
国产精品一区二区久久精品涩爱
|
好久久免费视频高清
|
伊人久久大香线蕉无码麻豆
|
色综合久久久久网
|
久久丫精品国产亚洲av不卡
|
国内精品久久久久久99
|
欧美成a人片免费看久久
|
国产午夜久久影院
|
精品国产乱码久久久久久人妻
|
久久久久女人精品毛片
|
久久综合色区
|
久久国产成人午夜AV影院
|
久久国产亚洲高清观看
|
亚洲国产精品无码久久久秋霞2
|
亚洲七七久久精品中文国产
|
久久精品人人做人人爽电影
|
无遮挡粉嫩小泬久久久久久久
|
麻豆久久久9性大片
|
免费一级做a爰片久久毛片潮
|
久久久91精品国产一区二区三区
|
日韩精品久久久久久免费
|
一级女性全黄久久生活片免费
|
久久99精品久久久久久秒播
|
亚洲天堂久久精品
|
精品久久久久久无码中文野结衣
|
欧美日韩精品久久免费
|
国产精品久久久久久久久久影院
|
久久精品国产99久久久香蕉
|
精品国产综合区久久久久久
|