Beste mensen,
Ik ben nu al een paar maanden aan het prutsen met C++, en meestal kom ik er wel uit met google en diverse tutorials, maar dit keer moet ik toch jullie hulp inroepen
Ik ben bezig met het schrijven van een mailfilter (die SMTP praat) en daarvoor heb ik op dit moment de (uiterst simpele) klasse Email. In een andere klasse ('SMTPserver') wil ik in een array (pointer) een aantal van deze 'Email'-objecten hebben, die array moet echter klasse-breed zijn. Een stukje uit SMTPserver.h:
Echter, nu ga ik in SMTPServer.cpp die variabele 'listEmails' gebruiken:
De regel "listEmails = new Email[numRecips];" levert geen problemen, maar op de rege l waar de array gevuld wordt, krijg ik de volgende compile-error:
. Heeft iemand enig idee waardoor dit veroorzaakt wordt?
Ik ben nu al een paar maanden aan het prutsen met C++, en meestal kom ik er wel uit met google en diverse tutorials, maar dit keer moet ik toch jullie hulp inroepen
Ik ben bezig met het schrijven van een mailfilter (die SMTP praat) en daarvoor heb ik op dit moment de (uiterst simpele) klasse Email. In een andere klasse ('SMTPserver') wil ik in een array (pointer) een aantal van deze 'Email'-objecten hebben, die array moet echter klasse-breed zijn. Een stukje uit SMTPserver.h:
code:
(dit gaat goed)1
2
3
4
5
6
7
| class SMTPServer {
public:
SMTPServer(void);
private:
Email * listEmails;
}; |
Echter, nu ga ik in SMTPServer.cpp die variabele 'listEmails' gebruiken:
code:
1
2
3
4
| listEmails = new Email[numRecips];
for (i = 0; i < numRecips; i++){
listEmails[i] = new Email(strEmail, listRecips->get(i));
} |
De regel "listEmails = new Email[numRecips];" levert geen problemen, maar op de rege l waar de array gevuld wordt, krijg ik de volgende compile-error:
En ik heb geen idee wat ik hiermee aanmoet. Volgens mij gebruik ik toch die array niet nelemaal goed, maar dat is slechts een vermoeden(...)/src/SMTPServer.cpp:89: error: no match for 'operator=' in '*(this->SMTPServer::listEmails + (+(i * 28))) = (operator new(28), ((true, (<anonymous>->Email::Email(basic_string<char,std::char_traits<char>,std::allocator<char> >((&strEmail)), StringList::get(int)(i)), (<anonymous> <unknown operator> false))), <anonymous>))'
* (...)/src/Email.h:28: error: candidates are: Email& Email::operator=(const Email&)