GoodGuy.cpp
Code:
unsigned int Drib::nextBird(unsigned int visibility)//having a const here screws things up
{
    return dielema.nextBird(visibility);
}
GoodGuy.h
[CODE]
#ifndef LINKED_LIST_INCLUDED
#define LINKED_LIST_INCLUDED
#include "LinkedList.h"
#endif

const unsigned int SECONDS_WORKED = 60*60*10;//10 hour work day
const unsigned int RATE = 8;//cages 8 birds in an hour
const unsigned int MAX_BIRDS_CAGED = SECONDS_WORKED*RATE/60;
const unsigned int TREE_HEIGHT = 20;//20 branches on the tree
const unsigned int COLUMNS = 2;
const unsigned int MIN_TIME = 7;
const unsigned int MAX_TIME = 10;

class Drib
{
public:
Drib();
unsigned int getSecondsWorked() const;
unsigned int search(unsigned int maxVisibility, bool algorithm);
void erase(unsigned int position);
unsigned int nextBird(unsigned int visibility);//use to be const
unsigned int getBranch(unsigned int bird);
unsigned int getFirst() const;
void remove(unsigned int location);

private:
unsigned int properTime;
unsigned int rows;
List dielema;
unsigned int getRandomNumber(int nLow, int nHigh) const;
double unifRand();

};

LinkedList.cpp
Code:
unsigned int List::nextBird(unsigned int t)
{
    NodePtr temp = head;
    unsigned int current = 0;
    while(temp->next != NULL)
    {
        if((temp->time+BIRD_LAST_IN_CAGE) >= t)
            return current;
        else
        {
/*the following 2 lines modify data members*/
List::erase(current); birdsDied++; } current++; } }
when I compile this I get:
error: no matching function for call to `List::nextCagedBird(unsigned int&) const'
note: candidates are: unsigned int List::nextCagedBird(unsigned int) <near match>

so what's the deal with the &

Drib.cpp:75: error: no matching function for call to `List::nextCagedBird(unsigned int&) const'
LinkedList.cpp:201: note: candidates are: unsigned int List::nextCagedBird(unsigned int) <near match>

another question, when I try to compile all I get is this:
>C:\MinGW\bin\g++ -pedantic -Os main.cpp -o main.exe
C:\DOCUME~1\Brendon\LOCALS~1\Temp/ccJ3tb2i.o:main.cpp.text+0x43e): undefined reference to `BadGuy::BadGuy()'
collect2: ld returned 1 exit status
>Exit code: 1