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

Код из книги выдаёт ошибку - C++

Восстановить пароль Регистрация
 
Rostislav
0 / 0 / 0
Регистрация: 30.12.2011
Сообщений: 16
03.11.2013, 00:11     Код из книги выдаёт ошибку #1
Код из книги выдаёт ошибку. Использую Visual Studio 2010 Exspress
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//: CO3:Forward.cpp
// Опережающие объявления функций и данных
//Page 120
#include<iostream>
using namespace std;
 
//Объявления не являются внешними в нормальном смысле.
//но компилятор должен знать о том, что они где-то существуют:
extern int i;
extern void func();
int main()
{
    i = 0;
    func();
}
int i; //определение данных
void fanc()
{
    i++;
    cout<<i;
}
Выдача:
C++
1
2
3
4
5
1>------ Построение начато: проект: Forward, Конфигурация: Debug Win32 ------
1>  Forward.cpp
1>Forward.obj : error LNK2019: ссылка на неразрешенный внешний символ "void __cdecl func(void)" (?func@@YAXXZ) в функции _main
1>G:\VS2010\FillC++\Forward\Debug\Forward.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,065
03.11.2013, 00:15     Код из книги выдаёт ошибку #2
Цитата Сообщение от Rostislav Посмотреть сообщение
//Объявления не являются внешними в нормальном смысле.
//но компилятор должен знать о том, что они где-то существуют:
extern int i;
extern void func();
ну и где они существуют
там скорее всего был листинг другого файла, который ты не набил

Добавлено через 38 секунд
Цитата Сообщение от Rostislav Посмотреть сообщение
int i; //определение данных
void fanc()
{
* * i++;
* * cout<<i;
}
это из другого листинга?
Rostislav
0 / 0 / 0
Регистрация: 30.12.2011
Сообщений: 16
03.11.2013, 00:24  [ТС]     Код из книги выдаёт ошибку #3
это из другого листинга?
да нет, другого файла нет
Внешняя переменная или функция определяется либо в другом файле, либо далее в текущем файле
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,065
03.11.2013, 00:58     Код из книги выдаёт ошибку #4
Цитата Сообщение от Rostislav Посмотреть сообщение
Внешняя переменная или функция определяется либо в другом файле, либо далее в текущем файле
хорошо поверю тебе на слово, хотя я с таким не встречался да и зачем это ???
теперь к твоей ошибке
Цитата Сообщение от Rostislav Посмотреть сообщение
extern void func();
Цитата Сообщение от Rostislav Посмотреть сообщение
func();
Цитата Сообщение от Rostislav Посмотреть сообщение
void fanc()
имена func и fanc сильно похожи???
вот он и ищет реализацию функции func а ты ему предлагаешь fanc
Rostislav
0 / 0 / 0
Регистрация: 30.12.2011
Сообщений: 16
03.11.2013, 01:05  [ТС]     Код из книги выдаёт ошибку #5
спасибо! ослеп немного))
Yandex
Объявления
03.11.2013, 01:05     Код из книги выдаёт ошибку
Ответ Создать тему
Опции темы

Текущее время: 09:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru