以下是代码:
float getTwoRandomNumbers (int Min, int Max, int & number1, int & number2);
void main()
{
cout << "The two random numbers are " << getTwoRandomNumbers << endl;
}
float getTwoRandomNumbers (int Min, int Max, int & number1, int & number2)
{
int loopNumber, number;
for (loopNumber = 0; loopNumber <= 200; loopNumber++)
{
number = rand();
if (loopNumber < 100 && number >= Min && number <= Max)
{
number1 = number;
cout << number1 << endl;
}
if (loopNumber > 100 && number >= Min && number <= Max)
{
number2 = number;
cout << number2 << endl;
}
return getTwoRandomNumbers;
}
}
错误:
.cpp (36) : error C2440 : 'return' : cannot convert from 'float (__cdecl *)(int,int,int, &,int&)' to 'float'
There is no context in which this conversion is possible.
答案 0 :(得分:3)
另一个家庭作业问题?似乎是他们的季节。这是正确方向的一点:getTwoRandomNumbers需要一些参数。看看函数声明,它要求的东西。除此之外,请听听您对主要问题的第一条评论。我强烈建议你做一些关于C ++的基本阅读。
更新:人们似乎不喜欢这个问题,尽管它并不是那么糟糕。你需要解决的第一个问题是你要返回函数的名称,而不是你存储随机数的变量。我不能嘲笑这个错误,我自己做了类似的(并且仍然在做场合)。
完成后,getTwoRandomNumbers函数会将一些需要的值传递给它来运行。你在那里的函数声明中详细说明了它。阅读c ++书中的几章可以让你获得更多的整体好处,然后在这里向人们寻求帮助,帮助你解决你的错误。我得到的印象是你没有完全理解c ++背后的概念。
更新2:Annnnnnd最后一件事。永远记住,当你想使用一个变量时,你必须先声明它。所有这些,不仅仅是大部分。
答案 1 :(得分:0)
在一个句子中,您没有返回float类型的值(您声明的),而是返回一个函数值。