伸进女同桌乳沟里摸爽了,小雪解开乳罩给老杨摸,少妇被按摩师摸高潮了,亲嘴扒胸摸屁股激烈视频,强摸秘书人妻大乳BD,摸BBB揉BBB揉BBB视频

新疆軟件開發(fā)

本站首頁(yè) 軟件開發(fā) 成功案例 公司新聞 公司簡(jiǎn)介 客服中心 軟件技術(shù) 網(wǎng)站建設(shè)
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> 開發(fā)語(yǔ)言 >> 文章正文

將使用GetProcAddress 的代碼從C 導(dǎo)向C++ 時(shí)收到C2564 錯(cuò)誤或C2197 錯(cuò)誤

將使用 GetProcAddress() 的代碼從 C 導(dǎo)向 C++ 時(shí),MS-DOS 的 C++ 編譯器可能會(huì)返回以下錯(cuò)誤信息:
error C2564:formal/actual parameters mismatch in call through pointer to function
32 位編譯器返回的錯(cuò)誤信息是:
error C2197:'int (__stdcall *)(void )' :too many actual parameters
在一個(gè)傳統(tǒng)的 C 應(yīng)用程序中,使用 GetProcAddress() 獲取待調(diào)用函數(shù)的地址,聲明一個(gè) FARPROC 類型的變量,用 GetProcAddress() 返回的值初始化指針,然后通過(guò)指針調(diào)用函數(shù),如下所示: void func1(void)
{
   HINSTANCE       hLib;
   FARPROC         lpfnDLLProc;
   UINT            param1 = 1;
   int             param2;

   hLib = LoadLibrary ("dll1.dll");
   if (hLib)
   {
      lpfnDLLProc = GetProcAddress (hLib, "DLLProc");
      (*lpfnDLLProc) (param1, (LPINT)&param2);
      FreeLibrary (hLib);
   }
}
    
不使用 STRICT 編譯時(shí),在 WINDOWS.H 文件中將定義 FARPROC,如下所示: typedef int (CALLBACK* FARPROC)();
    
將上述示例代碼轉(zhuǎn)換為 C++ 后,將出現(xiàn)類型不匹配錯(cuò)誤,這是因?yàn)?C 與 C++ 在解釋函數(shù)聲明中的空括號(hào)方面存在著根本的不同。C 中的函數(shù)聲明方式如下: int (*funcptr)();
    
它聲明一個(gè)參數(shù)數(shù)目未知的函數(shù)。在 C++ 中,這一聲明卻表示一個(gè)不接受任何參數(shù)的函數(shù)。換言之,該語(yǔ)句在 C++ 中等價(jià)于: int (*funcptr)(void);
    
由于存在這一不同,在 C 中使用 FARPROC 類型的指針調(diào)用帶參數(shù)的函數(shù)時(shí),不會(huì)出現(xiàn)任何錯(cuò)誤。在 C++ 中,如果傳遞給 GetProcAddress() 的函數(shù)帶有參數(shù),即會(huì)出現(xiàn)形參/實(shí)參不匹配的錯(cuò)誤,因?yàn)?FARPROC 類型的函數(shù)被定義為不帶參數(shù)的函數(shù),而不是可接受參數(shù)的函數(shù)。

要消除該錯(cuò)誤,請(qǐng)將函數(shù)指針定義為指向具有正確參數(shù)數(shù)目的函數(shù)的指針,然后為 GetProcAddress() 的返回值分配相應(yīng)類型: typedef void (CALLBACK *ULPRET)(UINT,LPINT);

void func1(void)
{
   HINSTANCE       hLib;
   ULPRET          lpfnDLLProc;
   UINT            param1 = 1;
   int             param2;

   hLib = LoadLibrary ("dll1.dll");
   if (hLib)
   {
      lpfnDLLProc = (ULPRET) GetProcAddress (hLib,"DLLProc");
      (*lpfnDLLProc) (param1, (LPINT)&param2);
      FreeLibrary (hLib);
   }
}
    

--------------------------------------------------------------------------------

這篇文章中的信息適用于:
• Microsoft Visual C++ 1.0 專業(yè)版
• Microsoft Visual C++ 2.0 Professional Edition
• Microsoft Visual C++ 2.1
• Microsoft Visual C++ 4.0 標(biāo)準(zhǔn)版
• Microsoft Visual C++ 6.0 Service Pack 5
• Microsoft Visual C++ 5.0 標(biāo)準(zhǔn)版

 

作者:未知 | 文章來(lái)源:新疆二域軟件開發(fā) | 更新時(shí)間:2007-10-19 11:48:48

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    C++基礎(chǔ)知識(shí):結(jié)構(gòu)體數(shù)據(jù)的指針變量
    如何實(shí)現(xiàn)C與C++程序的相互調(diào)用
    在C++中成員函數(shù)如何實(shí)現(xiàn)操作符重載?
    基礎(chǔ)學(xué)習(xí):C++非成員函數(shù)實(shí)現(xiàn)操作符重載
    基礎(chǔ)學(xué)習(xí):C++重載輸入輸出符
    基礎(chǔ)學(xué)習(xí):C++重載下標(biāo)結(jié)算符
    基礎(chǔ)學(xué)習(xí):C++中重載調(diào)用操作符
    基礎(chǔ)學(xué)習(xí):C++重載轉(zhuǎn)換操作符operator (type)
    C++類復(fù)制控制學(xué)習(xí)
    C++類析構(gòu)函數(shù)學(xué)習(xí)
    軟件技術(shù)
    · 開發(fā)語(yǔ)言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫(kù)開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗(yàn)證方
    ·各種FOR循環(huán)結(jié)構(gòu)的整理
    ·軟件項(xiàng)目開發(fā)中應(yīng)該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項(xiàng)目經(jīng)理有那些
    ·學(xué)習(xí)如何在Lambda表達(dá)式進(jìn)
    ·C++基礎(chǔ)知識(shí):結(jié)構(gòu)體數(shù)據(jù)的
    ·C#實(shí)現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補(bǔ)了一部分java的
    ·rss定制的另外一種實(shí)現(xiàn)方式
    ·delphi實(shí)現(xiàn)利用arp欺騙來(lái)實(shí)
    ·基礎(chǔ)學(xué)習(xí):基于WF的流程框
    ·網(wǎng)絡(luò)編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過(guò)程中的性能設(shè)計(jì)
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號(hào)
    新疆軟件開發(fā)總機(jī):0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    琼海市| 襄垣县| 富川| 会同县| 乐业县| 大城县| 永城市| 枣强县| 大名县| 都兰县| 大邑县| 沈阳市| 麻城市| 鹤山市| 穆棱市| 页游| 木里| 五常市| 满洲里市| 盐源县| 微博| 平山县| 额敏县| 泊头市| 崇明县| 丰镇市| 科技| 启东市| 南陵县| 盘山县| 滦南县| 彩票| 东至县| 清河县| 凌云县| 金门县| 伽师县| 上饶县| 特克斯县| 西华县| 合山市|