返回无效函数

Returning void function

我是新来的。希望我能够随着时间的推移做出贡献。我很难分配这个新值。每当我 运行 代码时,它们只会得到零。

#include <iostream>
using namespace std;


void CoordTransform(int xVal,int yVal,int xValNew, int yValNew)    {


   xValNew = (xVal + 1) * 2;
   yValNew = (yVal + 1) * 2;

 return void();
}


int main() {
   int xValNew = 0;
   int yValNew = 0;

   CoordTransform(3, 4, xValNew, yValNew);
   cout << "(3, 4) becomes " << "(" << xValNew << ", " << yValNew << ")" << endl;

   return 0;
}

你的意思如下

#include <iostream>
using namespace std;

void CoordTransform( int xVal, int yVal, int &xValNew, int &yValNew )    
{
    xValNew = (xVal + 1) * 2;
    yValNew = (yVal + 1) * 2;
}

int main() 
{
    int xValNew;
    int yValNew;

    CoordTransform( 3, 4, xValNew, yValNew );
    cout << "(3, 4) becomes " << "(" << xValNew << ", " << yValNew << ")" << endl;

    return 0;
}

函数的第三个和第四个参数必须是引用类型。

像您一样传递参数就是传递 "by value"。更改函数中的值不会影响保存传递给函数的值的原始变量。

改为按引用传递。引用是对原始变量的引用,所以改变函数中的参数会改变原始变量。

void CoordTransform(int xVal, int yVal, int& xValNew, int& yValNew) {
   xValNew = (xVal + 1) * 2;
   yValNew = (yVal + 1) * 2;
}

此外,void return 值意味着您不会 return 直接从函数中获取任何内容。不要使用 return 语句。