建議使用 Visual Studio 2017

編譯器錯誤 C3707

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

'function': 分配介面方法必須具有 dispid

如果您使用dispinterface方法中,您必須將它指派dispid。 若要修正此錯誤,請指派dispiddispinterface方法,例如,取消註解id屬性下面範例中的方法。 如需詳細資訊,請參閱屬性dispinterface識別碼

下列範例會產生 C3707:

// C3707.cpp  
#include <atlbase.h>  
#include <atlcom.h>  
#include <atlctl.h>  
  
[module(name="xx")];  
[dispinterface]  
__interface IEvents : IDispatch  
{  
   HRESULT event1([in] int i);   // C3707  
   // try the following line instead  
   // [id(1)] HRESULT event1([in] int i);  
};  
  
int main() {  
}  

顯示: