LNK2019 Ошибка: неразрешенный внешний символ - PullRequest
0 голосов
/ 29 марта 2020

Я получаю сообщение об ошибке в Visual Studio при компиляции моей программы.

Ошибка LNK2019: неразрешенный внешний символ "publi c: __cdecl Grid :: Grid (void)" (?? 0Grid @@ QEAA@XZ), указанный в функции main Grid C: \ Users \ Ryan \ Desktop \ Dev \ Grid \ Grid \ main.obj 1

Ошибка LNK2019: неразрешенный внешний символ "publi c: __thiscall Grid :: ~ Grid (void)" (?? 1Grid @@ QAE@XZ) ссылка на функцию _main Grid C: \ Users \ Ryan \ Desktop \ Dev \ Grid \ Grid \ main.obj 1

Этот проект отлично работает в моем университете, но не на моем собственном компьютере и я не уверен, что не так.

Мой главный. cpp:

#include <iostream>
#include "Grid.h"
using namespace std;

int main(int args, char **argv)
{
   Grid grid;
// grid.LoadGrid("Grid1.txt");
// grid.SaveGrid("OutGrid.txt");

   system("pause");
}

И мой заголовочный файл:

#pragma once

class Grid
{
public:
    Grid();
    ~Grid();

    void LoadGrid(const char filename[]);
    void SaveGrid(const char filename[]);

private:
    int m_grid[9][9];
};

Любая помощь вообще оценил, спасибо.

Ответы [ 3 ]

0 голосов
/ 29 марта 2020

Вы не представили никакой реализации для функций, конструктора, деструктора, объявленного в заголовке класса, поэтому вы получили эту ошибку компоновщика.

Чтобы избежать этого, вводите реализации, даже если они были пустыми, как замена ; с в шапке по {} с

0 голосов
/ 01 апреля 2020

Проблема устранена из советов, данных по [ ошибка LNK2019: неразрешенный внешний символ "publi c: __thiscall: проблема конструктора

" Сначала в проекте библиотеки выполните команду rightclick-> properties, затем на вкладке Общие тип конфигурации должен быть Stati c library (.lib). "

Спасибо всем за ваши ответы.

0 голосов
/ 29 марта 2020

Насколько я понимаю, ваш конструктор класса сетки и реализация destractor отсутствуют. Вы должны проверить ваш файл. cpp, реализация как это

Grid(){}
~ Grid(){}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...