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

Проблема с extern-переменными - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ пара ошибок при риализации графа http://www.cyberforum.ru/cpp-beginners/thread318171.html
пишу реализацию M-графа, вроде все правильно, но выскакивает 4 ошибки: 1>MatrixGraph.obj : error LNK2005: "public: __thiscall MatrixGraph::MatrixGraph(int)" (??0MatrixGraph@@QAE@H@Z) already defined in main.obj 1>MatrixGraph.obj : error LNK2005: "public: virtual bool __thiscall MatrixGraph::hasArc(int,int)const " (?hasArc@MatrixGraph@@UBE_NHH@Z) already defined in main.obj 1>MatrixGraph.obj :...
C++ Очередная сортировка структуры Подобных вопросов были тонны, и тонны еще будут. Есть прога, кривая и написанная собственноручно. Написать ее ума хватило, а вот чтоб откомпилировать... Описание: Имеется файл со структурой. Научить прогу писать, дополнять и внятно выводить результат чтения сего файла получилось. На сортировке все застопорилось - не пойму никак, где у меня написано не правильно, ибо плоховато понимаю саму... http://www.cyberforum.ru/cpp-beginners/thread318130.html
Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер C++
. Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер
C++ Найти сумму и число тех элементов заданного массива X1,X2, … ,Xn, которые попадают на заданный отрезок.
1. чНайти сумму и число тех элементов заданного массива X1,X2, … ,Xn, которые попадают на заданный отрезок.
C++ Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего Т. http://www.cyberforum.ru/cpp-beginners/thread318123.html
Задан целочисленный одномерный массив a из n элементов. Найти номер первого максимального элемента среди отрицательных элементов, расположенных до первого элемента, большего Т.
C++ Найти среднее арифметическое неотрицательных элементов матрицы, Найти среднее арифметическое неотрицательных элементов матрицы, а также подсчитать, сколько таких элементов в каждой отдельно взятой строке матрицы. Общие замечания • Практически во всех задачах упоминается некая матрица. В таких случаях формулировка задачи должна начинаться со слов: «Дана матрица …». • Работать только с массивами с переменными границами, как мы это делали во... подробнее

Показать сообщение отдельно
ramses
-2 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 55

Проблема с extern-переменными - C++

12.06.2011, 12:00. Просмотров 2024. Ответов 14
Метки (Все метки)

Такие дела. У меня два файла, func.cpp и main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//func.cpp
double sum, count;
 
double average(double num) {
    sum += num;
    count++;
    return sum/count;
}
 
void reset() {
    sum = 0;
    count = 0;
}
 
//main.cpp
#include <cstdlib>
#include <conio.h>
#include <iostream>
#include <windows.h>
 
using namespace std;
 
extern double sum;
double average(double num);
void reset();
 
int _tmain() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    char query[10];
        
    do {
        cout << "Введите число:";
        cin >> query;
        if (query[0] == 'r')
            reset();
        else if (!query)
            break;
        else {
            cout << "Сумма:" << sum << "\n";
            cout << "Среднее арифметическое:" << average(atof(query)) << "\n";
        }
    } while (true);
    
    _getch();
    
    return 0;
}
При попытке скомпилировать эти вещи выдаёт ошибку:
Error: Unresolved external '_sum' referenced from C:\DOCUMENTS AND SETTINGS\ADMIN\МОИ ДОКУМЕНТЫ\C++ SKETCHES\MAIN.OBJ

Что ему (Borland Free Compiler 5.5.1) не нравится? Те же яйца, только в профиль, если объявлять main() как не _tmain() (правда, при этом он ссылается на другой объектный файл). Либо я не понимаю принципов модульности в C++, либо компилятор писали весёлые люди. Только что-то не весело мне..

Добавлено через 3 минуты
Т.е. если попробывать скомпилировать такую программку

C++
1
int main() {}
, то выдаст

Error: Unresolved external '_wmain' referenced from C:\BORLAND\BCC55\LIB\C0X32W.OBJ
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru