Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur de compilation

erreur: variable or field ‘Create_Scale’ declared void

Sujet résolu
    26 mai 2007 à 19:04:42

    Voilà bonjour à tous !
    J'ai un petit problème lors de la compilation d'un projet voilà ce que g++ me dit:
    Fichiers.h:9: erreur: variable or field ‘Create_Scales’ declared void
    Fichiers.h:9: erreur: ‘fstream’ was not declared in this scope
    Fichiers.cpp: In function ‘void Create_Files()’:
    Fichiers.cpp:5: erreur: ‘ofstream’ was not declared in this scope
    Fichiers.cpp:5: erreur: expected `;' before ‘File’
    Fichiers.cpp:6: erreur: ‘File’ was not declared in this scope
    Fichiers.cpp: At global scope:
    Fichiers.cpp:10: erreur: variable or field ‘Create_Scales’ declared void
    Fichiers.cpp:10: erreur: redefinition of ‘int Create_Scales’
    Fichiers.h:9: erreur: ‘int Create_Scales’ previously defined here
    Fichiers.cpp:10: erreur: ‘fstream’ was not declared in this scope
    Fichiers.h:9: erreur: variable or field ‘Create_Scales’ declared void
    Fichiers.h:9: erreur: ‘fstream’ was not declared in this scope
    main.cpp: In function ‘int main()’:
    main.cpp:9: erreur: ‘Create_Scales’ cannot be used as a function
    matarc@Matarc:~/Programmation/Convertisseur Notes$ g++ -o Scale Notes.cpp Fichiers.cpp main.cpp
    Fichiers.h:9: erreur: variable or field ‘Create_Scale’ declared void
    Fichiers.h:9: erreur: ‘fstream’ was not declared in this scope
    Fichiers.cpp: In function ‘void Create_File()’:
    Fichiers.cpp:5: erreur: ‘ofstream’ was not declared in this scope
    Fichiers.cpp:5: erreur: expected `;' before ‘File’
    Fichiers.cpp:6: erreur: ‘File’ was not declared in this scope
    Fichiers.cpp: At global scope:
    Fichiers.cpp:10: erreur: variable or field ‘Create_Scale’ declared void
    Fichiers.cpp:10: erreur: redefinition of ‘int Create_Scale’
    Fichiers.h:9: erreur: ‘int Create_Scale’ previously defined here
    Fichiers.cpp:10: erreur: ‘fstream’ was not declared in this scope
    Fichiers.h:9: erreur: variable or field ‘Create_Scale’ declared void
    Fichiers.h:9: erreur: ‘fstream’ was not declared in this scope
    main.cpp: In function ‘int main()’:
    main.cpp:9: erreur: ‘Create_Scale’ cannot be used as a function

    Je ne mettrais que les fichiers Fichiers.h et Fichiers.cpp car le reste est inutile.
    Voilà Fichiers.h:
    #ifndef DEF_FICHIERS
    #define DEF_FICHIERS

    #include <fstream>
    #include <iostream>
    #include "Notes.h"

    void Create_File();
    void Create_Scale(fstream Scales);

    #endif

    Et voilà Fichiers.cpp:
    #include "Fichiers.h"

    void Create_File()
    {
            ofstream File;
            File.open("Scales.scl");
            File.close();
    }

    void Create_Scale(fstream Scales)
    {
            Scale = new Note[12];
            Scale[0].Set_Notes("C","Do");
            Scale[1].Set_Notes("C#","Do#");
            Scale[2].Set_Notes("D","Re");
            Scale[3].Set_Notes("D#","Mib");
            Scale[4].Set_Notes("E","Mi");
            Scale[5].Set_Notes("F","Fa");
            Scale[6].Set_Notes("F#","Fa#");
            Scale[7].Set_Notes("G","Sol");
            Scale[8].Set_Notes("G#","Sol#");
            Scale[9].Set_Notes("A","La");
            Scale[10].Set_Notes("A#","Sib");
            Scale[11].Set_Notes("B","Si");
           
            Scales.open("Scales.scl",fstream::in|fstream::out|fstream::trunc);
            for(int i=0;i<12;i++)
            {
                    Scales<<Scales[i].Get_Note_Ang()<<" "<<Scales[i].Get_Note_Fr()<<endl;
            }
            delete[] Scale;
    }



    Voilà merci d'avance :) .
    • Partager sur Facebook
    • Partager sur Twitter
      26 mai 2007 à 19:08:32

      std::fstream !

      Sinon, les flux ne sont pas copiables => les passer par référence.
      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        26 mai 2007 à 19:13:53

        C'est vrai j'avais oublié ce détail merci beaucoup ! :)
        • Partager sur Facebook
        • Partager sur Twitter

        Erreur de compilation

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown