Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
#1

Неразрешенный внешний символ - C++

18.12.2012, 15:31. Просмотров 349. Ответов 4
Метки нет (Все метки)

Привет всем, помогите исправить ошибку: Ошибка 1 error LNK2001: неразрешенный внешний символ ""struct kadry * array" (?array@@3PAUkadry@@A)" c:\my documents\visual studio 2012\Projects\Lab\Lab\L11-1.obj Lab
Проект состоит из Lab.CPP - содержит функцию main, L11-1.CPP, L11-1.h, L11-2.CPP, L11-2.h
В L11-1.h :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
 
struct kadry
{
    char name[17];
    char inc[7];
    float v;
    int n;
};
 
extern struct kadry array[4];
extern struct kadry x;
 
extern void show_all(void);
А в L11-1.CPP:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include "stdafx.h"
#include "L11-1.h"
#include "L11-2.h"
 
 
void show_all(void)
{
    for (int i = 0; i < 4; i++)
    {
        printf("%s\t\t%4d\t\t\t %s\t\t\t %5.2f\n", array[i].name, array[i].n, array[i].inc, array[i].v);
    }
}
а в файлах L11-2.h и L11-2.CPP только одна строка : #include "stdafx.h"
Главный файл с функцией main:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "stdafx.h"
#include <iostream>
#include "L11-1.h"
#include "L11-2.h"
 
using namespace std;
 
int main()
{
    show_all();
 
    return 0;
}
никак не могу разобраться
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 15:31     Неразрешенный внешний символ
Посмотрите здесь:

Неразрешенный внешний символ - C++
Здравствуйте!Возникла проблема с классами Вот вообщем мой класс : WorldEdit.cpp #include &quot;WorldEdit.h&quot; #include &quot;Mouse.h&quot; ...

Неразрешенный внешний символ - C++
Ошибка LNK1120 неразрешенных внешних элементов: 1 Ошибка LNK2019 ссылка на неразрешенный внешний символ &quot;void __cdecl print(struct...

Неразрешенный внешний символ - C++
Здравствуйте. Не понимаю почему возникает ошибка. Исходный код.obj : error LNK2019: ссылка на неразрешенный внешний символ &quot;class Token...

Неразрешенный внешний символ - C++
Ребят помогите, пожалуйста, не могу понять в чем заключается ошибка. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; ...

Неразрешенный внешний символ - C++
Подскажите, пожалуйста, что эта может быть за ошибка fatal error LNK1120: 1 неразрешенных внешних элементов и warning C4996: 'getch': The...

Неразрешенный внешний символ - C++
Здравствуйте! Недавно скачала библиотеку DocxFactory и решила, собственно, использовать ее в одном из проектов. В общем, путь к либе...

неразрешенный внешний символ - C++
В общем, проблема: подключаю библиотеку tbb (параллельные вычисления) и при компиляции выдается ошибка: &quot; Ошибка 4 error LNK2001:...

Неразрешенный внешний символ - C++
Кароч дело в том что вечно видает ошибку в MFC1&gt;Figure.obj : error LNK2019: ссылка на неразрешенный внешний символ &quot;public: __thiscall...

Неразрешенный внешний символ - C++
#include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; using...

Ссылка на неразрешенный внешний символ - C++
error LNK2019: ссылка на неразрешенный внешний символ &quot;public: class LogProb __thiscall transpair_model4::...

Ссылка на неразрешенный внешний символ - C++
Identification_Organisation.h: #pragma once #include&lt;string&gt; using namespace std; class Main_Organisation { int...

Ссылка на неразрешенный внешний символ - C++
//Структура пользователя программой struct User { char* Login; char* Password; }; //Массив пользователей User Array;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
18.12.2012, 15:49     Неразрешенный внешний символ #2
так а в каком файле определён struct kadry array[4]; ???
в одном из CPP файлов должно быть такое объявление(но только в одном)
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
18.12.2012, 16:10  [ТС]     Неразрешенный внешний символ #3
я значения конкретные не присваивал, в L11-1.h - просто объявил в L11-1.cpp пытаюсь вывести на экран. знаю что тупость, но какие то значения же он должен вывести на экран
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
18.12.2012, 16:38     Неразрешенный внешний символ #4
Цитата Сообщение от Kreativ Посмотреть сообщение
знаю что тупость
А зачем тогда тему создал?
Впрочем суть не в присвоении конкретных значений: не хочешь - не присваивай. Но в одном из СРР файлов проекта должна быть переменная
C++
1
struct kadry array[4];
То, что ты написал
C++
1
extern struct kadry array[4];
- это не объявление. Это просто сообщает компилятору, что в тех файлах проекта, в которых есть
C++
1
#include "L11-1.h"
можно использовать массив kadry array из какого-то другого файла. Т.е. этот массив не создаётся в файле L11-1.h а слово extern служит как-бы напоминанием о том, что он есть в других файлах и его можно использовать. И в данном случае ты жестоко обманываешь систему. Т.к. пообещал ей, создать в одном из cpp файлов массив,
Клятвенно обещал это сделать в h-файле "L11-1.h". И не сдержал обещание.
Срочно пиши в пятой строке L11-1.CPP:
C++
1
struct kadry array[4];
Kreativ
2 / 2 / 0
Регистрация: 22.09.2012
Сообщений: 202
18.12.2012, 17:02  [ТС]     Неразрешенный внешний символ #5
аа спасибо разобрался

Добавлено через 4 минуты
а если я в L11-1.cpp присвоил значения для структуры, то в файле L11-2.cpp она будет "известна"?
Yandex
Объявления
18.12.2012, 17:02     Неразрешенный внешний символ
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru