Линкер жалуется на «неразрешенный внешний символ» - PullRequest
0 голосов
/ 11 февраля 2012

Это код заголовочного файла

#ifndef SEQUENCE_H
#define SEQUENCE_H
#include <cstdlib>  // Provides size_t

namespace CISP430_A2
{
    class sequence
    {
    public:
        // TYPEDEFS and MEMBER CONSTANTS
        typedef double value_type;
        typedef size_t size_type;
        enum { CAPACITY = 30 };
        // CONSTRUCTOR
        sequence(size_type entry=CAPACITY )
        {
            for(int i=0;i<CAPACITY;i++)
                data[i]=0;
            used=0;
            capacity=CAPACITY;
            current_index=0;
        }
           // COPY CONSTRUCTOR
        sequence(const sequence& entry);       
    // Library facilities used: cstdlib
        // MODIFICATION MEMBER FUNCTIONS
        void start( );
        void advance( );
        void insert(const value_type& entry);
        void attach(const value_type& entry);
        void remove_current( );
        void resize(size_type new_capacity);
        void sequence::operator =(const sequence& entry);
        // CONSTANT MEMBER FUNCTIONS
        size_type size( ) const;
        bool is_item( ) const;
        value_type current( ) const;
        //Destructor
         ~sequence(){}
    private:
        value_type data[CAPACITY];
        size_type used;
        size_type capacity;
        size_type current_index;
    };
}

#endif

Я сейчас получаю эту ошибку компоновщика:

sequence_test.obj: ошибка LNK2019: неразрешенный внешний символ "public: __thiscall CISP430_A2::sequence::sequence(unsigned int)" (?? 0sequence @ CISP430_A2 @@ QAE @ I @ Z), на который есть ссылка в функции _main

1 Ответ

0 голосов
/ 11 февраля 2012

Я только что успешно попробовал и скомпилировал ваши файлы, так что это не в вашем коде (по крайней мере, не в тех частях, которые вы опубликовали)

Полагаю, вы используете Visual Studio?Попробуйте следующее:

  • Убедитесь, что настройки вашего проекта верны (все файлы включены в ваш проект?)
  • Используете ли вы предварительно скомпилированные заголовки?Попробуйте выключить их.
  • Попробуйте чистую перестройку.
...