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

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

Войти
Регистрация
Восстановить пароль
 
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
#1

переобьявление - C++

02.03.2011, 20:11. Просмотров 319. Ответов 3
Метки нет (Все метки)

Есть 3 файла.
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
#include <conio.h>
#include "myiostream.h"
using namespace my;
 
int main()
{
 
    int c=13;
    cout << "a = " << c;
}
myiostream.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once
#include <stdio.h>
#include <typeinfo>
#include <stdio.h>
namespace my
{
    char* get_format(const char*);
    class istream
    {
        ...
    };
    class ostream
    {
        ...
    };
    
    istream cin(stdin);
    ostream cout(stdout);
 
}
myiostream.cpp
C++
1
2
#include "myiostream.h"
...
Компилятор выдает три ошибки:

error LNK1169: обнаружен многократно определенный символ - один или более
error LNK2005: "class my::istream my::cin" (?cin@my@@3Vistream@1@A) уже определен в main.obj
error LNK2005: "class my::ostream my::cout" (?cout@my@@3Vostream@1@A) уже определен в main.obj

причем если я засовываю
C++
1
2
istream cin(stdin);
ostream cout(stdout);
в main.cpp то все нормально.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
03.03.2011, 05:10 #2
C++
1
my::cout << "a = " << c;
так попробуй
0
Overmind024
99 / 99 / 6
Регистрация: 10.09.2010
Сообщений: 267
03.03.2011, 19:34  [ТС] #3
спс сам разобрался. фишка в ключевом слове extern.
а насчет
C++
1
my::cout << "a = " << c;
ничем не отличается от
C++
1
cout << "a = " << c;
так как
C++
1
using namespace my;
1
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.03.2011, 01:56 #4
Цитата Сообщение от Overmind024
ничем не отличается от
да, это я упустил
0
Yandex
Объявления
04.03.2011, 01:56
Ответ Создать тему
Опции темы

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