国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
VC++7.1轉(zhuǎn)移到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. 函數(shù)的默認返回值類型
同上,VC8不支持把 int 作為默認返回值類

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

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

int Func()
{return 0;};

5. 函數(shù)地址
Vc7中函數(shù)名就是地址。在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. 隱式類型轉(zhuǎn)換
VC8不允許B* 到const B*&的隱式轉(zhuǎn)換.

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

解決方法:
強制轉(zhuǎn)換或函數(shù)參數(shù)變成const B*。

void fun ( const B*  );

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

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:
把函數(shù)聲明為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中已經(jīng)不存在了.

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

解決方法:
使用STL.

#include <fstream>

10. Iterator
一些 STL 類, iterators 不再用指針實現(xiàn)

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;
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C++11 標(biāo)準(zhǔn)新增特性
C語言的HashTable簡單實現(xiàn)
物聯(lián)網(wǎng)學(xué)習(xí)資源—用const時應(yīng)注意的一些地方
《算法導(dǎo)論》讀書筆記之第11章 散列表
C++ unordered
C++ 學(xué)習(xí)要點
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服