2011-10-20 88 views
1

我對C++不是很熟悉,在這裏我遇到了一個錯誤,我無法從web中找到答案。dll函數名稱與已有的MFC函數相同

我想編譯一個從dll導入函數的示例代碼。

我正在使用VS 2010 Professional。

的問題是,我得到一個錯誤信息說:

錯誤C2660:「CDialog的:初始化」:函數不接受4個參數。

當我看着'Initilize()'函數時,我發現實際上它不是CDialog ::函數,而是與dll完全不同的函數,其中頭文件包含在.cpp中。這是編譯器誤解CDialog ::並且我看到,因爲調用Initialize()的函數的類實際上是從CDialog繼承的。

這個問題最簡單的解決方法是什麼?

在此先感謝

回答

3

指定正確的功能與Namespace::Initialize()Class::Initialize(),或者只是::Initialize()被稱爲如果函數不是任何命名空間或類中的一員。

+0

謝謝,但是我看到的只是該函數的頭文件。那我該怎麼辦? –

+0

我不明白這個問題。您可能只需要更改編譯器所在的行。 – aschepler

+0

該函數沒有名稱空間或類。我所看到的函數聲明都在頭文件中,可能函數直接從dll調用。 –

相關問題