gpt4 book ai didi

c++ - 在 Visual Studio 2010 中编译 C++ 程序时出错

转载 作者:太空狗 更新时间:2023-10-29 21:50:56 25 4
gpt4 key购买 nike

我无法在 Visual Studio 2010 中编译我的以下 c++ 程序。我已经有了相同代码的工作构建,所以我知道代码是正确的。但我不知道它是什么或如何编译的。

因此,如果有人可以复制代码并尝试在 VS 2010 中编译它,我将不胜感激。

代码:

http://codepad.org/4VtrVBdK

:

好的,我根据下面的评论进行了编辑。现在似乎仍然存在的唯一问题与对重载函数的调用有关。那怎么办呢?

最佳答案

so I know the code is correct

您“知道”的是错误的。代码在许多方面是错误的。这只是一个例子:

for(unsigned int i=0;i<GPNO;i++)    //SORTING ACCORDING TO FITNESS
for(unsigned int j=i+1;j<GPNO;j++)
if((gp[i]->fitness)>(gp[j]->fitness))
{
gp[i]->mycopy(tmp);
gp[j]->mycopy(gp[i]);
tmp->mycopy(gp[j]);
}



for(i=1;i<=no;i++)
{
gp[i]->mycopy(gp[GPNO-i]);
}

在第二个for 循环中,i 未声明。我怀疑原始编译器是 VC6,它允许这样做。

另一个问题是您调用 pow 的方式。你用宏调用它(为此目的显然是邪恶的),例如:

pf[i].frq+=(unsigned int)pow(2,2*PF-1);

并且编译器不知道您想到的是哪个版本的pow。为此目的,宏是邪恶的例子。这样做:

pf[i].frq+=(unsigned int)pow(2.0,2*PF-1);

或者更好的是,摆脱宏。

您的代码错误的另一个示例:

#include "stdlib.h"
#include "conio.h"
#include "math.h"

这些内容都不属于标准。如果你能让它们编译,那只是因为你的编译器预料到了你的错误。但这仍然是一个错误。

关于c++ - 在 Visual Studio 2010 中编译 C++ 程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com