【发布时间】:2011-08-22 02:29:14
【问题描述】:
代码如下:
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.
【问题讨论】:
-
说真的,拿一本 C++ 书读一读。使用
YourFunc(args_here)调用函数,只需YourFunc创建一个函数指针。 -
这也忽略了不好的回报。
-
您的错误原因是您试图返回 getTwoRandomNumbers,它是对同名函数的引用,它不能用作返回浮点数的函数的返回值。
-
这个帖子不是刚刚关闭吗? stackoverflow.com/questions/5943831/…
-
看起来像一个不懂C++的VB程序员。返回函数的名称是一个死的赠品。
标签: c++ compiler-errors