方法中添加对象参数后,编译无法通过?

发布于 2022-10-15 09:10:47 字数 1242 浏览 25 评论 0

给下面方法SetString添加了一个对象参数后编译无法通过?

  1. #include <windows.h>
  2. #include <stdio.h>
  3. //long SetString(char *str)
  4. long SetString(IExample *this,char *str)
  5. {
  6.   return (0);
  7. }
  8. long GetString(char *buffer, long length)
  9. {
  10.   return (0);
  11. }
  12. //typedef long SetStringPtr(char *);
  13. typedef long SetStringPtr(IExample *this,char *);
  14. typedef long GetStringPtr(char *,long);
  15. typedef struct
  16. {
  17.    SetStringPtr * SetString;
  18.    GetStringPtr * GetString;
  19. }IExampleVtbl;
  20. typedef struct
  21. {
  22.    IExampleVtbl * lpVtbl;
  23.    DWORD count;
  24.    char buffer[80];
  25. }IExample;
  26. static   IExampleVtbl IExample_Vtbl = {SetString, GetString};
  27. int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
  28. {
  29.            return   0;
  30. }

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

倦话 2022-10-22 09:10:47

this C++的关键字

趁年轻赶紧闹 2022-10-22 09:10:47

回复 2# hellioncu

    c中好像也能用,我前段时间看了一个例子,是在VC中应用的

很酷又爱笑 2022-10-22 09:10:47

申明定义嵌套了

:loop
long SetString(IExample *this,char *str)
05行,之前需要申明IExample
如果吧IExample的定义放到这个之前
typedef struct
{
   IExampleVtbl * lpVtbl;
   DWORD count;
   char buffer[80];
}IExample;

IExample定义之前需要申明IExampleVtbl,
如果把IExampleVtbl申明提前,

typedef struct
{
   SetStringPtr * SetString;
   GetStringPtr * GetString;
}IExampleVtbl;

IExampleVtbl定义需要先声明 SetStringPtr , GetStringPtr

goto loop

吝吻 2022-10-22 09:10:47

COM中使用的几个宏的解释
  
  *   DECLARE_INTERFACE宏用于创建一个不从其它接口继承的接口。  
      DECLARE_INTERFACE_(注意下划线后缀)用于创建一个从其它接口继承而来的接口。  
      DECLARE_INTERFACE_有两个参数:新接口的名字和该接口的超类的名字。  
   
  *   STDMETHOD宏以声明方法的名字作为参数,方法返回一个标准的COM   HRESULT值。  
      STDMETHOD_宏能够说明自己的返回类型。它的两个参数是方法返回值的类型和方法的名字。  
   
  *   PURE宏解释为   “=0”,说明该函数为纯虚函数。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文