C ++编程错误

时间:2011-05-10 01:31:53

标签: c++ compiler-errors

  

可能重复:
  C++ Random number homework question

以下是代码:

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.

2 个答案:

答案 0 :(得分:3)

另一个家庭作业问题?似乎是他们的季节。这是正确方向的一点:getTwoRandomNumbers需要一些参数。看看函数声明,它要求的东西。除此之外,请听听您对主要问题的第一条评论。我强烈建议你做一些关于C ++的基本阅读。

更新:人们似乎不喜欢这个问题,尽管它并不是那么糟糕。你需要解决的第一个问题是你要返回函数的名称,而不是你存储随机数的变量。我不能嘲笑这个错误,我自己做了类似的(并且仍然在做场合)。

完成后,getTwoRandomNumbers函数会将一些需要的值传递给它来运行。你在那里的函数声明中详细说明了它。阅读c ++书中的几章可以让你获得更多的整体好处,然后在这里向人们寻求帮助,帮助你解决你的错误。我得到的印象是你没有完全理解c ++背后的概念。

更新2:Annnnnnd最后一件事。永远记住,当你想使用一个变量时,你必须先声明它。所有这些,不仅仅是大部分。

答案 1 :(得分:0)

在一个句子中,您没有返回float类型的值(您声明的),而是返回一个函数值。