none
mfc 中函数定义问题 RRS feed

  • 问题

  •  

    void CsinglemfcView:SurprisenDraw(CDC* /*pDC*/)
    {
     CsinglemfcDoc* pDoc = GetDocument();
     ASSERT_VALID(pDoc);
     if (!pDoc)
      return;
     CString str("1234");
     pDC->TextOut(20,20,str);
     // TODO: 在此处为本机数据添加绘制代码


    }

     

     

    其中第一行 pDC为什么被  星号引起来?

    2009年1月22日 13:07

答案

  • 因为默认生成的代码没有使用到参数pDC。那么如果不注掉声明的形参,当它没有被使用的时候,编译会出现一个warning。除此之外,没有其他什么。

    2009年1月23日 0:21
    版主

全部回复

  • /* ...... */是注释的意思.

    你把pDC给注掉了,这个代码肯定是会出错的.

    2009年1月22日 15:45
    版主
  • 默认的代码就是被注释的,不是我加上去的。而且不管是加上注释还是去掉,都可以运行。不知道是什么原因?

    2009年1月22日 22:53
  • 因为默认生成的代码没有使用到参数pDC。那么如果不注掉声明的形参,当它没有被使用的时候,编译会出现一个warning。除此之外,没有其他什么。

    2009年1月23日 0:21
    版主
  • splendour 说:

    因为默认生成的代码没有使用到参数pDC。那么如果不注掉声明的形参,当它没有被使用的时候,编译会出现一个warning。除此之外,没有其他什么。



    有道理,但是不知道是不是还有其他原因
    什么都不懂,多教教我啊
    2009年2月6日 8:28