青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

C++ Programmer's Cookbook

{C++ 基礎} {C++ 高級} {C#界面,C++核心算法} {設計模式} {C#基礎}

vc++7.1轉移到vc++2005 需要的一些變動

1. 變量作用域
在vc7.1中, 如果一個變量定義在for語句的條件從句中,那么這個變量可以在for之后使用。但Vc8禁止這樣,會報告一個C2065錯誤.
for (int i = 0; i < 10++i)  
{                             
   
//codes here
}

if (i < 10).. //error in Vc8
for (i = 0; i < 5++i) //error in Vc8

解決方法:
在for語句之前聲明變量(可保證代碼在vc7.1和vc8下同時編譯通過)

int i =0;                    
for (i = 0; i < 10++i)
for (i = 0; i < 5++i)

2. 指針和引用的聲明
在Vc7.1中, 下面的代碼可以編譯, 但是vc8會報C4430 錯誤。(很難想象有些美國程序員竟然這樣聲明)

const & int a; //error in VC8
const * int b;  //error in VC8
int myfun (const & B); //error in VC8

解決方法:
把* 或&放到類型的后面.

const int& a; 
const int* b;
int myfun (const B&);

3. 默認int類型
在vc7.1中,如果定義一個變量但不聲明類型,那么默認為int。VC8不支持。

static i = 0// C4430 error in Vc8 
const i = 0//C4430 error

解決方法:
加上int.

static int i = 0
const int i = 0;

4. 函數的默認返回值類型
同上,VC8不支持把 int 作為默認返回值類

Func()
{return 0;}//error in VC8

解決方法:
明確聲明函數返回值類型為 int.

int Func()
{return 0;};

5. 函數地址
Vc7中函數名就是地址。在vc8中,必須要使用&操作符同時寫出這個方法的全名(fully qualified name).

class A
{
public:
     
int Test(void);
}
;
void fun(int (A::*test) (void));
int main() 
{
     fun(A::Test);
//C3867 error in VC
     return 0;
}

解決方法:
加上 &.

fun(&A::Test);

6. 隱式類型轉換
VC8不允許B* 到const B*&的隱式轉換.

class B{};
void fun ( const B* & );//if possible use const B* instead
int main() 
{
*test = new B();
fun (test); 
//error in VC8
return 0;
}

解決方法:
強制轉換或函數參數變成const B*。

void fun ( const B*  );

7. 友元方法(Friend function)
VC8不允許聲明一個private或protected函數為友元.

class A
{
private:
 
void c();  
}
;
class B
{
  friend 
void A::c(); //C2248 error, c() is invisible to class B.
}
;

解決方法 1:
聲明友元類.

class A
{
private:
 
void c();  
}
;
class B
{
  friend 
class A;
}
;

解決方法 2:
把函數聲明為public

class A
{
public:
 
void c();  
}
;
class B
{
  friend 
void A::c();
}
;

8. STL的stdext 命名空間
在vc8中,hash_map 和hash_set 被移進了stdext命名空間中.

#include <hash_map>
std::hash_map 
//error in VC8

解決方法:
使用stdext 命名空間.

#include <hash_map>
stdext::hash_map

9. 頭文件
許多頭文件如fstream.h 和iostream.h在VC8中已經不存在了.

#include <fstream.h> //error in VC8

解決方法:
使用STL.

#include <fstream>

10. Iterator
一些 STL 類, iterators 不再用指針實現

std::vector<DMDetailRow> m_data;
std::vector
<DMDetailRow>::iterator iter = &m_data[rowNum];

解決方法:

std::vector<DMDetailRow>::iterator Iter = m_data.begin() + rowNum;

11. Enum
使用一個Enum的成員時,不要使用enum的名字

enum E
{
  a,b,c
}
;
E e1 
= E::a; //warning in VC8

解決方法:
去掉Enum 的名字.

E e1 = a;

posted on 2006-03-09 08:48 夢在天涯 閱讀(1223) 評論(2)  編輯 收藏 引用 所屬分類: CPlusPlus

評論

# re: vc++7.1轉移到vc++2005 需要的一些變動 2006-03-10 11:30 Tauruser

這些都是你自己測試出來的嗎?
我正在學習VS2005  回復  更多評論   

# re: vc++7.1轉移到vc++2005 需要的一些變動 2006-03-14 11:05 夢在天涯

小明思考:

http://m.shnenglu.com/sandy/archive/2006/03/13/4081.html  回復  更多評論   

公告

EMail:itech001#126.com

導航

統計

  • 隨筆 - 461
  • 文章 - 4
  • 評論 - 746
  • 引用 - 0

常用鏈接

隨筆分類

隨筆檔案

收藏夾

Blogs

c#(csharp)

C++(cpp)

Enlish

Forums(bbs)

My self

Often go

Useful Webs

Xml/Uml/html

搜索

  •  

積分與排名

  • 積分 - 1814978
  • 排名 - 5

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久亚洲一区二区| 亚洲国产精品成人综合| 在线一区二区三区四区五区| 欧美亚洲一区| 久久久久国产精品一区| 亚洲欧美日韩国产综合在线| 香蕉成人啪国产精品视频综合网| 亚洲综合电影| 久久久久久**毛片大全| 欧美高清在线精品一区| 亚洲精品免费在线播放| 亚洲无线一线二线三线区别av| 亚洲级视频在线观看免费1级| 亚洲日产国产精品| 99精品热视频| 欧美中文在线视频| 开心色5月久久精品| 欧美大胆成人| 欧美日本国产精品| 韩国福利一区| 亚洲先锋成人| 欧美成人第一页| 99视频精品全国免费| 久久精品国产综合| 国产精品v欧美精品v日韩| 一区在线观看视频| 亚洲一级片在线观看| 六月婷婷一区| 亚洲一区在线直播| 欧美大片18| 韩国精品一区二区三区| 亚洲午夜电影在线观看| 免费在线观看成人av| 亚洲一区二区四区| 欧美日韩成人一区二区三区| 激情成人亚洲| 亚洲一区二区在线| 亚洲黄色成人久久久| 欧美有码在线视频| 国产精品极品美女粉嫩高清在线 | 欧美一级久久久| 亚洲日韩欧美一区二区在线| 久久成人国产精品| 国产自产精品| 久久成人免费电影| 亚洲欧美日韩精品在线| 欧美日韩中文在线| 日韩亚洲在线观看| 亚洲国产精品成人综合色在线婷婷| 久久精品视频亚洲| 激情久久久久久久| 久久久久久黄| 久久激情视频| 在线免费日韩片| 另类尿喷潮videofree| 久久大逼视频| 亚洲欧美国产三级| 亚洲高清av| 亚洲欧美日韩成人| 国产精品久久久久91| 亚洲午夜在线观看| 一本一本大道香蕉久在线精品| 欧美日韩国产va另类| 亚洲性色视频| 洋洋av久久久久久久一区| 国产精品国产自产拍高清av王其 | 亚洲国产欧美一区二区三区同亚洲 | 欧美日韩美女一区二区| 99国产精品99久久久久久| 亚洲国产日韩在线| 欧美日韩一区二区三区在线观看免| 99在线精品观看| 在线一区欧美| 国产午夜一区二区三区| 久久色中文字幕| 女主播福利一区| 亚洲一级网站| 久久精品欧美日韩| 日韩视频在线免费观看| 中文精品视频| 在线观看欧美日韩| 日韩写真在线| 国产午夜精品久久久| 欧美刺激午夜性久久久久久久| 欧美日韩mp4| 欧美在线在线| 欧美成人中文| 久久成人免费视频| 欧美黄色小视频| 欧美在线亚洲在线| 欧美国产91| 欧美一区三区二区在线观看| 欧美不卡视频一区发布| 欧美一区二区在线| 免费成人高清视频| 欧美中在线观看| 欧美精品一卡二卡| 久久亚洲欧洲| 国产精品福利网站| 欧美国产高潮xxxx1819| 国产精品影视天天线| 亚洲国产天堂久久国产91| 国产日韩欧美中文| 亚洲精品一区二区三区四区高清| 国产一区二区激情| 一本久久知道综合久久| 亚洲国产天堂久久综合| 小黄鸭精品aⅴ导航网站入口| 一区二区欧美日韩视频| 久久久欧美一区二区| 欧美一区二区三区在| 欧美了一区在线观看| 欧美岛国激情| 国产有码在线一区二区视频| 一区二区三区精品视频在线观看| 久久久夜夜夜| 欧美一区二区日韩| 欧美日韩亚洲综合在线| 狼人社综合社区| 国产午夜精品全部视频在线播放| 日韩亚洲在线| 亚洲免费观看| 欧美1区3d| 亚洲第一区在线观看| 尤物九九久久国产精品的特点| 亚洲婷婷综合久久一本伊一区| 一区二区三区偷拍| 欧美精品三级在线观看| 亚洲国产mv| 亚洲精品一二| 免费在线观看成人av| 欧美成人r级一区二区三区| 一区在线影院| 久久午夜视频| 欧美α欧美αv大片| 韩日午夜在线资源一区二区| 亚洲一区二区三区久久| 欧美在线观看视频一区二区三区| 国产精品日韩欧美一区| 亚洲欧美在线一区二区| 久久不见久久见免费视频1| 国产精品一区在线观看| 先锋影音久久久| 久久一日本道色综合久久| 伊人成综合网伊人222| 快播亚洲色图| 亚洲欧洲精品一区二区| 在线视频日韩精品| 国产精品视频yy9099| 久久av老司机精品网站导航| 暖暖成人免费视频| 99在线精品免费视频九九视| 欧美视频第二页| 欧美影院在线| 亚洲国产精选| 亚洲欧美在线观看| 狠狠爱综合网| 欧美精品一区二| 亚洲欧美日韩国产一区二区三区| 久久久噜噜噜久久久| 最新国产乱人伦偷精品免费网站 | 国产欧美在线观看一区| 久久久久成人精品| 亚洲国产一区二区三区在线播| 亚洲桃色在线一区| 国产一区二区三区四区在线观看| 久久久中精品2020中文| 亚洲最黄网站| 久久婷婷成人综合色| 亚洲精品欧美日韩| 国产精品女主播| 久久综合亚州| 亚洲一区美女视频在线观看免费| 久久人人爽人人| 国产精品99久久久久久久女警| 国产一区二区高清不卡| 欧美激情精品久久久久久黑人| 亚洲午夜久久久久久久久电影网| 久久综合色一综合色88| 亚洲午夜精品福利| 亚洲国产高清视频| 国产欧美一区二区白浆黑人| 欧美 亚欧 日韩视频在线| 亚洲欧美一区在线| 欧美一级视频免费在线观看| 亚洲免费小视频| 欧美一区二区三区喷汁尤物| 亚洲国产成人在线| 国产精品日韩在线播放| 欧美第一黄网免费网站| 欧美一区二区日韩| 99精品99| 亚洲激情综合| 欧美aaa级| 久久久精品国产免大香伊| 亚洲国产日韩在线一区模特| 国产精品一香蕉国产线看观看 | 免费毛片一区二区三区久久久| 亚洲免费影视| 一本久久知道综合久久|