- Codice:
string code_;
Io ho scritto questo codice:
- Codice:
#include "Book.h"
#include <iostream>
#include <string>
using namespace std;
using std::string;
Book::Book(string code)
:code_{code}
{
for(int i=0; i<4; ++i)
if( code_[i].find("0")== string::npos || code_[i].find("1")== string::npos || code_[i].find("2")==
string::npos|| code_[i].find("3")==string::npos ||
code_[i].find("4")== string::npos || code_[i].find("5")== string::npos ||code_[i].find("6")==
string::npos ||code_[i].find("7")==string::npos ||
code_[i].find("8")== string::npos || code_[i].find("9")== string::npos)
cerr<< "Invalid code" << endl;
}
Dove ho usato la funzione find() della standard library per le stringhe.
So che è un brutto codice e ci sono mille altri metodi per arrivare alla soluzione, ma in questo particolare caso ho il problema che la funzione find() non viene riconosciuta come membro di Book e viene il seguente errore:
error: request for member ‘find’ in ‘((Book*)this)->Book:...
Io voglio capire come poter usare comunque la funzione find e se non si può quale sia il problema, quindi non voglio che mi consigliate altre possibili soluzioni. Grazie!
(Suppongo che il problema sia che sto cercando di usare un dato membro con una funzione che non fa parte della classe Book)