函数1
void CFileInterView::OnLoadFile()
{
double x,y,z;
////}
函数2
void CFileInterView::Jshi()
{
//////
double dx,dy,dz;
f(dx,dx,dz);//用dx来接受传过来的参数double x,y,z
}想把函数1中的double x传个函数2,并调用f()来处理参数,该怎么弄呀?

解决方案 »

  1.   

    函数1
    void CFileInterView::OnLoadFile()
    {
    double x,y,z;
    ////
    Jshi(x,y,z);
    }
    函数2
    void CFileInterView::Jshi(double &x,double &y double &z)
    {
    f(dx,dx,dz);//用dx来接受传过来的参数double x,y,z
    }
      

  2.   

    double x,y,z;
    void CFileInterView::OnLoadFile()
    {
    ////
    }
    void CFileInterView::Jshi()
    {
    //////
    f( x,y,z );//用dx来接受传过来的参数double x,y,z
    }
      

  3.   

    void CFileInterView::Jshi()
    要求该函数参数必须为空的话 可以传吗?
      

  4.   

    把x,y,z申明成类的成员变量
    这些函数都操作成员变量
      

  5.   

    "把x,y,z申明成类的成员变量
    这些函数都操作成员变量"我也就是这个意思
      

  6.   

    其实我是想通过void CFileInterView::OnLoadFile()动态的读取某个图形文件中的数据然后
    void CFileInterView::OnDraw(CDC* pDC)
    {
         CFileInterDoc* pDoc = GetDocument();
         ASSERT_VALID(pDoc);
    // pDC->Rectangle(minx,miny,maxx,maxy);//这样调用好象不行不知道为什么?
    pDC->Rectangle(240.015627813673690,99.6999127714157250,
                            615.410856755797790,240.015627813673690);//用来画矩形
    }
    就可以动态来画矩形了.
    只要我每次读到到有关矩形图形文件就可以显示出来,可是问题是直接有获得的数据可以但是用变量接受过来表示却不行了 不知道为什么?
      

  7.   

    minx,miny,maxx,maxy我经验声明为CFileInterView类的public函数了
      

  8.   

    minx,miny,maxx,maxy我已经声明为CFileInterView类的public成员了
      

  9.   

    函数1:
    void CFileInterView::OnLoadFile()
    {
    double x,y,z;
    Jshi(&x,&y,&z);//返回后x,y,z的值受Jshi操作的影响了
    }
    函数2:
    void CFileInterView::Jshi(float *dx,float *dy,float *dz)
    {
         f(dx,dx,dz);//用dx来接受传过来的参数double x,y,z
    }
      

  10.   

    将x,y,z定义成全局,或在
    CFileInterView类里定义
    FileInterView.h
    Class CFileInterView
    {
    float x,y,z;
    };
      

  11.   

    // FileInterView.h : interface of the CFileInterView class
    //
    /////////////////////////////////////////////////////////////////////////////#if !defined(AFX_FILEINTERVIEW_H__6B77C085_760A_4581_A502_80814E3FADA9__INCLUDED_)
    #define AFX_FILEINTERVIEW_H__6B77C085_760A_4581_A502_80814E3FADA9__INCLUDED_#if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    class CFileInterView : public CView
    {
    protected: // create from serialization only
    CFileInterView();
    DECLARE_DYNCREATE(CFileInterView)// Attributes
    public:
    CFileInterDoc* GetDocument();// Operations
    public:
    //void DrawRectangle(CDC*pDC,double minx,double maxy,double maxx,double miny);
    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CFileInterView)
    public:
    virtual void OnDraw(CDC* pDC);  // overridden to draw this view
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
    protected:
    virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
    virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
    virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
    //}}AFX_VIRTUAL// Implementation
    public:
    double minx,miny,maxx,maxy;//我在这里声明的呀
    virtual ~CFileInterView();
    #ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
    #endifprotected:// Generated message map functions
    protected:
    //{{AFX_MSG(CFileInterView)
    afx_msg void OnLoadFile();
    //}}AFX_MSG
    DECLARE_MESSAGE_MAP()
    };#ifndef _DEBUG  // debug version in FileInterView.cpp
    inline CFileInterDoc* CFileInterView::GetDocument()
       { return (CFileInterDoc*)m_pDocument; }
    #endif///////////////////////////////////////////////////////////////////////////////{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.#endif // !defined(AFX_FILEINTERVIEW_H__6B77C085_760A_4581_A502_80814E3FADA9__INCLUDED_)
      

  12.   

    void CFileInterView::OnDraw(CDC* pDC)
    {
         CFileInterDoc* pDoc = GetDocument();
         ASSERT_VALID(pDoc);
         pDC->Rectangle(minx,miny,maxx,maxy);//在这里调用之前,你有没有给这些变量赋过值?
    }
      

  13.   

    void CFileInterView::OnDraw(CDC* pDC)
    {
         CFileInterDoc* pDoc = GetDocument();
         ASSERT_VALID(pDoc);
         pDC->Rectangle(minx,miny,maxx,maxy);//在这里调用之前,你有没有给这些变量赋过值?
    }
    我也知道没有附值呀 可是我想得到void CFileInterView::OnLoadFile()
    {
    ////
    }
    这个函数中的值呀因为这个函数是用来读取一个图形文件中的值的
    所以我想把他传个void CFileInterView::OnDraw(CDC* pDC)
    可是不只怎么样才能够弄个它.也是说我不通过直接附值而是通过传递参数来
    实现呀
      

  14.   

    void CFileInterView::OnLoadFile()
    {
    double x,y,z;
    ////
    minx = x;
    miny = y;
    minz = z;
    }
    LoadFile后给minx,miny,minz赋值没有?
      

  15.   

    TO:lfchen
    这样是可以改变minx,miny,minz的值
    但是一出 OnLoadFile()
    这个函数他们的值又变成默然的了
    那么在void CFileInterView::OnDraw(CDC* pDC)
    函数中使用minx,miny,minz他们的值不可能是x,y,z呀
    也还是默然值,所以根本就没有实现把x,y,z传到OnDraw(CDC* pDC)函数中,
    我现在就想把他们传进去 谁能帮我解决再加100分,
    谢谢