Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » error : In member function `void ???

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.07.2003, 21:54 Uhr
~mathabu
Gast


Hi,

I habe diese code mit g++ 3.2 ( cygwin) unter windows compiliert und bekomme Fehlermeldung, weiss jemand woran es liegt ?
Danke !

C++:
#include <iostream>
// #include <iostream.h>
#include <fstream>
#include <stdlib.h>
#include "au_laden.h"

using namespace std;

int au_laden::get_header(char *path_of_file){

  ifstream instreamobjekt(path_of_file,ios::in|ios::binary);

  if(!instreamobjekt){
    cerr << "Fehler beim lesen der datei !\n";
    exit(1);
  }
  header=new au_header[1];
  instreamobjekt.seekg(0,ios::beg);
  instreamobjekt.read(header,25);

  int hs=header->header_size;
  char vokal;


  if(hs==24)
    header->vokal_info=0;
else if(hs==25)
     {
        vokal = header->vokal_info;
            //cout << "das ist ein: " << vokal << endl;
        switch(vokal){
            case 'a':vokalwert=  0.0;break;
            case 'o':vokalwert=  1.0;break;
            case 'u':vokalwert=  2.0;break;
            case 'e':vokalwert=  3.0;break;
            case 'i':vokalwert=  4.0;break;
        }
    }
  else{
    char *info_string;
    info_string= new char[hs];
    instreamobjekt.seekg(0,ios::beg);
    instreamobjekt.read(info_string,hs);
    //for(int i=24;i<(hs);i++)
      //cout << info_string[i];

        vokal = info_string[24];
            //cout << "das ist ein: " << vokal << endl;
        switch(vokal){
            case 'a':vokalwert=  0.0;break;
            case 'o':vokalwert=  1.0;break;
            case 'u':vokalwert=  2.0;break;
            case 'e':vokalwert=  3.0;break;
            case 'i':vokalwert=  4.0;break;
        }
    //cout << "..." << endl;
    //cout << "vokalwert ="<<vokalwert<< endl;
  }


usw.........



errors:

Code:


$ g++ -o auladen au_laden.cpp

au_laden.cpp: In member function `int au_laden::get_header(char*)':
au_laden.cpp:20: no matching function for call to `std::basic_ifstream<char,
   std::char_traits<char> >::read(au_header*&, int)'
/usr/include/c++/3.2/bits/istream.tcc:778: candidates are:
   std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
   _Traits>::read(_CharT*, int) [with _CharT = char, _Traits =
   std::char_traits<char>]
au_laden.cpp: In member function `void
   au_laden::write_vokalinfo_2_aufile(char*, char)':
au_laden.cpp:183: no matching function for call to `std::basic_ofstream<char,
   std::char_traits<char> >::write(au_header*&, int&)'
/usr/include/c++/3.2/bits/ostream.tcc:387: candidates are:
   std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT,
   _Traits>::write(const _CharT*, int) [with _CharT = char, _Traits =
   std::char_traits<char>]


Dieser Post wurde am 04.07.2003 um 21:56 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.07.2003, 21:58 Uhr
~mathabu
Gast


mit gcc 2.96 unter redhat ohne probleme
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.07.2003, 22:01 Uhr
virtual
Sexiest Bit alive
(Operator)


Ich würde mal sagen, daß das doch in der Fehlöermeldung steht. Ich übersetze es mal:

Zitat:

Ich kenne keine Methode read In der Klasse ifstream, welche als ersten Parameter einen Pointer auf einen au_header und als zweiten einen int erwartet. Ich kann höchstens mit einer Methode read dienen, die als ersten parameter ein char und als zweiten einen int erwartet.


Was da jedoch nicht steht:

Zitat:

Du kann mit zufriedenstellen. wenn Du den ersten Parameter zu einem char* castest. Ob es das ist, was Du willst, weiß ich nicht. Aber ich lasse mich dann jedenfalls kompilieren


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.07.2003, 22:32 Uhr
~mathabu
Gast


Hinweis:

Ich habe den Code nicht vollständig reingeschrieben, da es zu lang ist.
Ich compilierte es unter linux, es funzt. Aber nun das andere Problem.

UNIX liest ein Audio-header von einer *.au datei anders als pc. ( zb. intel)
nun möchte ich dass das program unter PC den Audio Header richtig liest,
was muss ich jetzt ändern:
Hier ein Teil-code unter UNIX:
danke

int au_laden::make_header_check(){

// magic number check
cout << header->magic_number << endl;
if (!((header->magic_number == 0x2E736E64) || (header->magic_number == 0x2E736400))){
cerr << "das ist keine au_datei!\n";
exit(1);
}

// codec check
if (header->codec != 1){
cerr << "fehler: .au-datei ist nicht mu-law codiert! \n";
exit(1);
}

if (header->samplerate != 11025){
cerr << "fehler: samplerate der .au-datei !=11025Hz \n";
exit(1);
}

// channel check
if (header->channels != 1){
cerr << "fehler: .au_datei ist nicht mono !\n";
exit(1);
}

return 0;

}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
07.07.2003, 16:20 Uhr
~mathabu
Gast


Hallo

Kann jemand mir helfen,woher diese Fehlermeldung kommt, unter g++ 2.9 ohne Probleme, aber seit ich g++3.3 installiere, funzt das nicht mehr. !!


au_laden.cpp: In member function `int au_laden::get_header(char*)':
au_laden.cpp:20: no matching function for call to `std::basic_ifstream<char,
std::char_traits<char> >::read(au_header*&, int)'
/usr/include/c++/3.2/bits/istream.tcc:778: candidates are:
std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT,
_Traits>::read(_CharT*, int) [with _CharT = char, _Traits =
std::char_traits<char>]
au_laden.cpp: In member function `void
au_laden::write_vokalinfo_2_aufile(char*, char)':
au_laden.cpp:183: no matching function for call to `std::basic_ofstream<char,
std::char_traits<char> >::write(au_header*&, int&'


Gruss
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
07.07.2003, 18:59 Uhr
Pablo
Supertux
(Operator)


Das Problem kenn ich auch. Die meisten Programmen (auch onhe X Unterstützung) lassen sich sich nicht mit g++ von cygwin kompilieren, vor allem mit vector oder string.
Unter Linux kann ich hauptsächlich alles kompilieren, aber wenn ich mit gcc von cygwin kompilieren will, muss ich immer was ändern. Das liegt an cygwin und gcc für cygwin.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
07.07.2003, 19:19 Uhr
~0xdeadbeef
Gast


Doppelpost, wenn mich nicht alles täuscht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: