【问题标题】:C++ Programming Error [duplicate]C ++编程错误[重复]
【发布时间】:2011-08-22 02:29:14
【问题描述】:

可能重复:
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.

【问题讨论】:

  • 说真的,拿一本 C++ 书读一读。使用YourFunc(args_here) 调用函数,只需YourFunc 创建一个函数指针。
  • 这也忽略了不好的回报。
  • 您的错误原因是您试图返回 getTwoRandomNumbers,它是对同名函数的引用,它不能用作返回浮点数的函数的返回值。
  • 这个帖子不是刚刚关闭吗? stackoverflow.com/questions/5943831/…
  • 看起来像一个不懂C++的VB程序员。返回函数的名称是一个死的赠品。

标签: c++ compiler-errors


【解决方案1】:

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

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

完成此操作后,您的 getTwoRandomNumbers 函数将需要传递一些值以使其运行。你已经在你的函数声明中说明了它。阅读 into c++ 书籍中的几章会对你有更好的整体好处,然后向这里的人寻求帮助,了解你做错了什么。我的印象是你对 c++ 背后的概念没有完全理解。

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

【讨论】:

  • 关于您的更新:我们不喜欢它,因为它现在已经是第四次了,我们的一般提示是每次都“获得一本好的 C++ 书”。如果缺少基本的理解,所有答案很可能都是徒劳的。
  • @Xeo 查看他的发帖历史,看起来他正试图在最后一刻完成他所有的编程任务。特别是因为他似乎已经发布了 3 次相同的问题而没有进行任何更改。我想知道什么时候到期
  • 在我看来,他似乎在尝试在学期末完成整个学习如何编程的事情,在没有注意或出现之后。
【解决方案2】:

一句话,你返回的不是float类型的值(你声明的),你返回的是一个函数的值。

【讨论】:

  • 我一开始也是这么想的,但是看看他的其余代码......不传递任何参数,使用未声明的整数,返回一个函数。真是一团糟。
猜你喜欢
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多