Ho la seguente classe
codice:#ifndef CONF_H #define CONF_H #include "Lib.h" namespace LucLib{ /** * La classe della configurazione */ class Conf { public: Conf(string nome, string autore, double vers=0.0); ~Conf(); string Parse(string &in); void Salva(string nome, string text); private: string _nome;/** Il nome dem programma **/ double _vers;/** La versione del programma **/ string _autore;/** L'autore del programma **/ }; #endif // CONF_H }Ma quando cerco di cmpilare m da:codice:#include "Conf.h" namespace LucLib{ /* * Inizializza l0autore, il nome del programma e la versione */ Conf::Conf(string nome, string autore, double vers): _nome(nome), _vers(vers), _autore(autore) { } /** * Virtuale: No * Funzione: Controlla che l'input da scrivere rispetti determinate regole * Argomenti: La stringa da salvare * Return: La stringa formattata * Eccezioni: */ string Conf::Parse(string &in) { int num_ok = 0; int num_no = 0; string def[4] = {"[NOME]", "[AUTORE]", "[VERSIONE]"}; vString tag(def, def+4); vString::iterator scor = tag.begin(); for(; scor != tag.end(); scor++) { for(int i=0;i<in.lenght();i++) { if( in.find(in.end, in.beg, *scor) == true ) { num_ok++; }else{ num_no++; } if( (num_ok == 3) || (num_no == 3)) break; } } switch(num_ok) { case 1: break; case 2: break; case 3: break; } switch(num_no) { case 1: break; case 2: break; case 3: break; } } /** * Virtuale: No * Funzione: Scrive la conf del programma * Argomenti: Il nome del files, il testo * Return: - * Eccezioni: Controllato da Parse() */ void Conf::Salva(string nome, string text) { ofstream out(nome.c_str(), ios::app | ios::out); //Parse(&text); out.close(); } }//-
Compilatore: C++ Optimized Maximum
Building Makefile: "C:\Documents and Settings\Admin\Desktop\Luca\Programmazione\LucLib2 \Makefile.win"
Esecuzione di make...
make.exe -f "C:\Documents and Settings\Admin\Desktop\Luca\Programmazione\LucLib2 \Makefile.win" all
g++.exe -c Lib/Conf.cpp -o Out/Conf.o -I"C:/Dev-Cpp/include/c++" -I"C:/Dev-Cpp/include/c++/mingw32" -I"C:/Dev-Cpp/include/c++/backward" -I"C:/Dev-Cpp/include"
Lib/Conf.cpp: In member function `std::string
LucLib::Conf::Parse(std::string&)':
Lib/Conf.cpp:27: no matching function for call to `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::lenght()'
Lib/Conf.cpp:29: `struct std::basic_string<char, std::char_traits<char>,
std::allocator<char> >' has no member named `beg'
make.exe: *** [Out/Conf.o] Error 1
Esecuzione terminata

Rispondi quotando