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

新疆軟件開發(fā)

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

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

將使用 GetProcAddress() 的代碼從 C 導(dǎo)向 C++ 時,MS-DOS 的 C++ 編譯器可能會返回以下錯誤信息:
error C2564:formal/actual parameters mismatch in call through pointer to function
32 位編譯器返回的錯誤信息是:
error C2197:'int (__stdcall *)(void )' :too many actual parameters
在一個傳統(tǒng)的 C 應(yīng)用程序中,使用 GetProcAddress() 獲取待調(diào)用函數(shù)的地址,聲明一個 FARPROC 類型的變量,用 GetProcAddress() 返回的值初始化指針,然后通過指針調(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 編譯時,在 WINDOWS.H 文件中將定義 FARPROC,如下所示: typedef int (CALLBACK* FARPROC)();
    
將上述示例代碼轉(zhuǎn)換為 C++ 后,將出現(xiàn)類型不匹配錯誤,這是因為 C 與 C++ 在解釋函數(shù)聲明中的空括號方面存在著根本的不同。C 中的函數(shù)聲明方式如下: int (*funcptr)();
    
它聲明一個參數(shù)數(shù)目未知的函數(shù)。在 C++ 中,這一聲明卻表示一個不接受任何參數(shù)的函數(shù)。換言之,該語句在 C++ 中等價于: int (*funcptr)(void);
    
由于存在這一不同,在 C 中使用 FARPROC 類型的指針調(diào)用帶參數(shù)的函數(shù)時,不會出現(xiàn)任何錯誤。在 C++ 中,如果傳遞給 GetProcAddress() 的函數(shù)帶有參數(shù),即會出現(xiàn)形參/實參不匹配的錯誤,因為 FARPROC 類型的函數(shù)被定義為不帶參數(shù)的函數(shù),而不是可接受參數(shù)的函數(shù)。

要消除該錯誤,請將函數(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 標準版
• Microsoft Visual C++ 6.0 Service Pack 5
• Microsoft Visual C++ 5.0 標準版

 

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

  • 上一篇文章:

  • 下一篇文章:

  • 相關(guān)文章:
    C++基礎(chǔ)知識:結(jié)構(gòu)體數(shù)據(jù)的指針變量
    如何實現(xiàn)C與C++程序的相互調(diào)用
    在C++中成員函數(shù)如何實現(xiàn)操作符重載?
    基礎(chǔ)學(xué)習:C++非成員函數(shù)實現(xiàn)操作符重載
    基礎(chǔ)學(xué)習:C++重載輸入輸出符
    基礎(chǔ)學(xué)習:C++重載下標結(jié)算符
    基礎(chǔ)學(xué)習:C++中重載調(diào)用操作符
    基礎(chǔ)學(xué)習:C++重載轉(zhuǎn)換操作符operator (type)
    C++類復(fù)制控制學(xué)習
    C++類析構(gòu)函數(shù)學(xué)習
    軟件技術(shù)
    · 開發(fā)語言
    · Java技術(shù)
    · .Net技術(shù)
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·搜集整理的asp.net的驗證方
    ·各種FOR循環(huán)結(jié)構(gòu)的整理
    ·軟件項目開發(fā)中應(yīng)該考慮那
    ·搜集整理的javascript sel
    ·軟件開發(fā)中項目經(jīng)理有那些
    ·學(xué)習如何在Lambda表達式進
    ·C++基礎(chǔ)知識:結(jié)構(gòu)體數(shù)據(jù)的
    ·C#實現(xiàn)短信發(fā)送程序的例子
    ·sun最近修補了一部分java的
    ·rss定制的另外一種實現(xiàn)方式
    ·delphi實現(xiàn)利用arp欺騙來實
    ·基礎(chǔ)學(xué)習:基于WF的流程框
    ·網(wǎng)絡(luò)編程中怎樣得知一次數(shù)
    ·如何逆序輸出單鏈表?
    ·軟件開發(fā)過程中的性能設(shè)計
    關(guān)于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權(quán)所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.zgna.net All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000
     
    东台市| 涟源市| 包头市| 旬阳县| 茶陵县| 马龙县| 永州市| 新巴尔虎左旗| 鸡东县| 平顶山市| 调兵山市| 乐陵市| 辉南县| 邵阳市| 临泽县| 湟中县| 堆龙德庆县| 潮安县| 闻喜县| 桐柏县| 夏津县| 伊通| 出国| 永仁县| 襄樊市| 唐山市| 玛曲县| 社旗县| 庆元县| 闻喜县| 镇远县| 滦南县| 张家港市| 三亚市| 陇南市| 伊宁市| 磐石市| 军事| 疏附县| 当雄县| 宁远县|