zeiger, klassen und addrinfo
-
hallo,
ich habe eine klasse mit diesem konstruktor.
connection::connection(const string& host, const string& port, const addrinfo& hints) { // struct addrinfo** addrlist; ist in der klasse private deklariert. int err = getaddrinfo(host.c_str(), port.c_str(), &hints, addrlist); if (err != 0) { throw invalid_argument("getaddrinfo has returned: " + string(gai_strerror(err)) + " <" + host + ":" + port + ">"); } if (addrlist == NULL) { cout << "addrlist == NULL" << endl; } }und rufe den konstruktor dann auf
struct addrinfo hints; // suchkreterien memset(&hints, 0, sizeof(hints)); hints.ai_socktype = SOCK_STREAM; hints.ai_protocol = IPPROTO_TCP; connection* metager = new connection("www.metager.de", "80", hints); connection fedora("fedoraproject.org", "80", hints);warum ist beim anlegen von metager addrlist == NULL
und beim anlegen von fedora nicht mal vorhanden (speicherzugriffsfehler)?wie würde es funktionieren?
thx
-
Probiers so:
// struct addrinfo* addrlist; ist in der klasse private deklariert. int err = getaddrinfo(host.c_str(), port.c_str(), &hints, &addrlist);
-
vielen Dank simon.gysi
super