-8
#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つの終了ステータスを返しました

「メイン」関数がないためかどうかはわかりませんが、別のこととして、関数「RegistrarUnaInclusion」を呼び出して機能させるにはどうすればよいですか?

4

2 に答える 2

2

「メイン」機能がないためかどうかはわかりません

ええ、そうです、それは一種の問題です。各プログラムには機能が必要main()です。他にどこから実行を開始しますか?

関数「RegistrarUnaInclusion」を呼び出して機能させるにはどうすればよいですか?

RegistrarUnaInclusionクラスのメンバー関数ListaCircularです。したがって、そのメンバー関数を呼び出すには、そのクラスのインスタンス(オブジェクト)が必要です。

ListaCircular l;
l.RegistrarUnaInclusion();
于 2013-03-10T01:11:33.063 に答える
0

Googleでエラーを検索しようとしましたか?次のC++プログラムの作成を開始する前に、このチュートリアルに従うことをお勧めします。プログラミングの一般的な知識が不足していると思うからです。

単純に、プログラムを実行するにはmainメソッドが必要です。コンパイラはmainメソッドを使用して、プログラムのエントリポイントを識別します。(C ++だけでなく、他のほとんどの言語も)したがって、ここでのエラーは、プログラムにmainメソッドがないことです。そして、主な方法についてこのウィキを読むことをお勧めします

于 2013-03-10T01:17:17.207 に答える