【问题标题】:Pass variables By Reference in C++ Managed Class!在 C++ 托管类中通过引用传递变量!
【发布时间】:2011-08-11 03:45:08
【问题描述】:

我在 c++/cli 托管类中传递引用变量时遇到问题!很明显如何在非托管类中执行此操作,但我正在使用 c++/cli :/

这是我正在尝试做的一个例子:

pManager->checkBoundary( int^ mX, int^ mY -  1 );


void Manager::checkBoundary( int^ cX, int^ cY )
{
    if( cY >= 0 )
    {
        cY = this->mBoardHeight;
    }
    else if( cY < mBoardHeight )
    {
        cY = 0;
    }
    else if( cX >= 0 )
    {
        cX = this->mBoardWidth;
    }
    else if( cX < mBoardWidth )
    {
        cX = 0;
    }
}

我知道这是不正确的,但我如何传递引用变量??

【问题讨论】:

    标签: .net c++-cli pass-by-reference managed


    【解决方案1】:

    C++/CLI 参考类似于int% int_ref。 :)

    【讨论】:

      【解决方案2】:

      使用与在非托管类中相同的方法:void Manager::checkBoundary(int& cX, int& cY); 。如果这不起作用:你如何分配你传递的整数?

      【讨论】:

      • 不,引用是用指针实现的。不允许传递对嵌入托管对象的 int 的引用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      相关资源
      最近更新 更多