Hej hej
Jeg har rodet lidt med følgende fejl i lidt tid nu,
slot@debian:~/Programmering/C++/Socket$ g++ test.cpp
/tmp/ccgv3IIE.o(.text+0x7e): In function `main':
: undefined reference to `socket::socket[in-charge](std::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
/tmp/ccgv3IIE.o(.text+0x11b): In function `main':
: undefined reference to `socket::bind()'
collect2: ld returnerede afslutningskoden 1
min kode er:
socket.h#ifndef socketHeader
#define socketHeader
#include "job.h"
class socket
{
public:
socket(string ip, int port, string familiy);
~socket(){}
bool bind();
bool connect();
bool close();
string read();
void write(string s);
};
#endif
socket.cpp
#include "socket.h"
socket::socket(string ip, int port, string familiy)
{
cout << "socket constructor"<<endl;
}
bool socket::bind()
{
cout << "socket bind"<<endl;
return true;
};
bool socket::close()
{
cout << "socket close"<<endl;
return true;
}
bool socket::connect()
{
cout <<" socket connect" << endl;
return true;
}
string socket::read()
{
cout << "socket read"<<endl;
return "HEJ";
}
void socket::write(string s)
{
cout<<"socket write"<<endl;
}
test.cpp
#include <iostream>
#include <string>
using namespace std;
#include "socket.h"
int main()
{
socket t("hej",50,"hej");
t.bind();
return 0;
}
Har postet et tilsvarende spørgsmål på eksperten.dk, dog med en lidt andet klasse struktur, men stadig samme fejl som gælder. Jeg kan ikke helt forstå hvorfor jeg får den, for jeg synes selv at jeg gør det rigtige når jeg erklære min konstruktør.
På forhånd tak
Indlæg senest redigeret d. 19.04.2006 20:05 af Bruger #1151