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
}
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();
}
}//-
Ma quando cerco di cmpilare m da:
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