Hi!
Trying to get a simple cpp program to compile, I'd got the linker
complaining it could'nt find eiter cout nor endl or other object which
belong to iostream. I'd had to use stdiolib to get the program working.
I'd have attached the source code, some of it is Norwegian, but I'd
think it will make sense anyway.
Do anybody have a clue why the library is missing? The code compiled ok
because the .h file is there, but the linker is stopping with the
message "unassigned reference to cout...".
Cincerely,
Sigmund
// #include<iostream.h>
#include<stdio.h>
static int idcnt; // se T
class T
{
public:
//static int idcnt; // denne liker ikke linkeren
int id;
int number;
T( int n ){
number = n;
id = idcnt++;
printf( "Constructor kalt %d\n", id );
}
T( const T &t ){
number = t.number;
id = idcnt++;
printf( "Kopierings-constructor: %d\n", id );
}
~T(){
printf( "Destructor kalt: %d\n", id );
}
void setNumber( int n ){
number = n;
}
};
void setNumber( T t, int n );
void setPNumber( T *t, int n );
// finner iostream.h, men ikke det tilhørende bibloteket
void main(){
T t(-1);
// cout << "Constructor setter number til -1 " << t.number << endl;
printf( "Constructor setter number til -1: %d\n", t.number );
setNumber( t, 4 );
// cout << "Instans gitt ved referanse endrer ikke instansen ";
// cout << t.number << endl;
printf( "Instans gitt ved referanse endrer ikke instansen: %i\n", t.number );
setPNumber( &t, 4 );
// cout << "Instans gitt med peker endrer instansen: ";
// cout << t.number << endl;
printf( "Instans gitt med peker endrer instansen: %i\n", t.number );
t.setNumber( 6 );
//cout << "Medlemsfunksjon endrer instansen " << t.number << endl;
printf( "Medlemsfunksjon endrer instansen %i\n", t.number );
}
void setNumber( T t, int n ){
t.number = n;
printf("Her kalles kopi-constructor for å kopiere instansen\n");
}
void setPNumber( T *t, int n){
t->number = n;
}