【问题标题】:How to call a function in C++如何在 C++ 中调用函数
【发布时间】:2013-02-25 09:38:42
【问题描述】:
#include <iostream>
using namespace std;
struct Nodo{
    Nodo *siguiente,*anterior;
    char* Nombre,*Curso;
    int carnet;
    Nodo(){
        siguiente=anterior=NULL;
    }
};
struct ListaCircular{
    Nodo *PrimerNodo,*UltimoNodo;
    ListaCircular(){
        PrimerNodo->siguiente=PrimerNodo->anterior=UltimoNodo;
        UltimoNodo->siguiente=UltimoNodo->anterior=PrimerNodo;
    }
    void RegistrarUnaInclusion();
    void BuscarInclusion();
    void EliminarInclusion();
    void RechazarAprobarInclusion();
    void MostrarInclusiones();

};
    void ListaCircular::RegistrarUnaInclusion(){
    ListaCircular *Lista=new ListaCircular();
    PrimerNodo->Curso="EstructurasDeDatos";
    PrimerNodo->Nombre="Roberto";
    PrimerNodo->carnet=201243031;
    UltimoNodo->Curso="POO"; 
    UltimoNodo->Nombre="Luis";
    UltimoNodo->carnet=201233212;
    Nodo *Nuevo;
    char *Nom,*Cur;
    long Car;
    cout<<"Ingrese el nombre del estudiante que va a registrar"<<endl;
    cin>>Nom;
    Nuevo->Nombre=Nom;
    cout<<"Ingrese el care del estudiante "<<Nuevo->Nombre<<endl;
    cin>>Car;
    Nuevo->carnet=Car;
    cout<<"Ingrese el curso al que desea hacer la inclusion"<<endl;
    cin>>Cur;
    Nuevo->Curso=Cur;
}

当我尝试运行我的代码时,它会向我发送一条错误消息,并说类似这样的话:

对`_WinMain@16' collect2 的未定义引用:ld 返回 1 个退出状态

我不知道是不是因为没有“main”函数,另外,我如何调用函数“RegistrarUnaInclusion”来使其工作?

【问题讨论】:

  • C++ 书中的第一课不是“每个程序都需要一个int main() 函数”吗?
  • 是的,但是有一种方法可以使 void ListaCircular::RegistrarUnaInclusion() 成为主要功能,我不知道该怎么做
  • @RobertoHernandez:不,没有办法,也没有任何意义。也许你已经习惯了其他有意义的语言(我现在可能不是那些语言),但在 C++ 中它真的没有。你只需要一个main() 否则你的程序将不是合法的 C++。
  • 嗯,谢谢@AndyProwl =),对于其他人,这是我学习 c++ 的 2° 天,所以感谢反对票 =D
  • @RobertoHernandez [OT] 除了此代码的所有其他问题,您正在处理 Nodo 结构中的 NombreCurso 成员 very 非常不正确。这个简单的程序可能有效,但任何包含这种链表节点的大型程序都会遇到可怕的运行时问题并崩溃,因为您实际上并未为节点中的成员分配内存。

标签: c++ function main


【解决方案1】:

您是否尝试在 Google 中搜索您的错误?我建议您在开始编写下一个 C++ 程序之前遵循 this 教程。因为我认为您缺少编程的一般知识。

简单地说,您必须需要一个 main 方法才能运行任何程序。编译器使用 main 方法来识别程序的入口点。 (不仅 C++ 也是大多数其他语言)所以这里的错误是你的程序 没有主要方法。并推荐阅读this wiki关于main方法

【讨论】:

    【解决方案2】:

    我不知道是不是因为没有“主要”功能

    嗯,是的,这有点问题。每个程序必须有一个main() 函数。执行将从哪里开始?

    如何调用函数“RegistrarUnaInclusion”使其工作?

    RegistrarUnaInclusionListaCircular 类的成员函数。因此,您需要该类的实例(对象)来调用该成员函数:

    ListaCircular l;
    l.RegistrarUnaInclusion();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-13
      • 2012-02-13
      • 2020-04-10
      • 2010-12-08
      • 1970-01-01
      相关资源
      最近更新 更多