我试图在TurboC ++ 3.0中编译this code。但是,我收到了这些错误:
DOS.H 77: Too many types in declaration
DOS.H 77: { expected
DOS.H 77: Declaration does not specify a tag or an identifier
SARSAL.CPP 72: Cannot cast from 'int' to 'time'
我检查了库的目录,我在BorlandC ++ 5.02中运行了代码(遗憾的是,我在方法Constructor cannot have a return type specification
中得到了图形错误或错误:void Agente::Agente
),DevC ++和Code ::块没有成功。
代码由我们的AI老师提供,据说工作正常。如何编译?
感谢您的帮助。
答案 0 :(得分:5)
我通常不会回答这种帖子(而不仅仅是因为" TurboC ++"问题)但是我们在某些时候都是新手并需要帮助但是没有#39我知道如何要求它,所以我会帮你一把。
首先:不要使用TurboC ++ 。正如其他人所说,这是古老的,需要你学习一种与今天的C ++非常不同的语言,并会教你许多不良习惯(例如#include <iostream.h>
这是错误的)
有了这个,让我们开始,好吗?
您定义一个构造函数(在第70行附近)并为其指定返回类型void
。这是错误的:构造者没有返回类型。正确的语法是:
Agente::Agente(void)
{
randomize();
}
也许TurboC ++需要一个返回类型(参见?)或者这可能只是你的错误,但不管怎样,这是一个bug,因为那不是C ++代码。
继续前进,你在第127行有这个:
if((Archivo = fopen("C:\Documents and Settings\ArCiGo\Escritorio\SOFTWARE_2\DATOS.TXT","r"))!=NULL)
字符\
在C ++中很特殊(例如\n
表示换行符,\x01
是值为1
的字符。
如果你想使用它,你必须使用另一个\
来逃避它:
if((Archivo = fopen("C:\\Documents and Settings\\ArCiGo\\Escritorio\\SOFTWARE_2\\DATOS.TXT","r"))!=NULL)
还有其他地方你做同样的事情。修复这些并再试一次。我打赌你会有更好的运气和更少的错误担心。
为了将来参考,当您正在寻求帮助时,请尝试发布一个简短,展示您所遇到的错误的自包含程序,以便其他人不需要涉及通过数百行代码,并担心缺少头文件和特定于平台的差异。