IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

> Microsoft Visual C++ 2008 не хочет компилировать, Постоянно выдает какие нибудь ошибки
Leidek
сообщение 20.11.2009 21:55
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Я уже полгода наверное мучаюсь с C++. Постоянно Code::Blocks и Microsoft Visual 2008 выдают ошибки.
Кто разбирается - напишите пожалуйста небольшой тест-код для MS Visual 2008, чтобы по выдающим ошибкам вы нашли проблему..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 23.07.2010 16:53
Сообщение #2


Гость






То и означает, что переменная (ну, если не переменная - то константа, или еще какая сущность - смысл от этого не меняется) с одинаковым именем была описана в разных единицах трансляции. Вот смотри:

f1.cpp

#include <iostream>

int i = 20;

int main()
{
std::cout << "Hello world: i = " << i << std::endl;
return 0;
}


f2.cpp
int i = 15;

int f(int x)
{
return 2 * x;
}

Заметила, что в обоих файлах присутствует переменная i? Так вот на этапе компиляции - все в порядке - в каждом файле - своя переменная, файл f1.cpp прекрасно компилируется в f1.obj, f2.cpp - в f2.obj... И тут запускается линкер. Которому надо собрать это все воедино, в exe-шник. А у линкера-то как раз большие проблемы: и в одном и в другом файле он находит упоминание о том, что должна быть переменная i... Но два объекта с одинаковым именем существовать в программе не могут. И какую переменную линкер должен выбрать? Случайную, а вторую - просто вышвырнуть из проекта? Линкер поступает проще: он сообщает программисту об ошибке, и программист должен решать, что выбросить, а что оставить...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.07.2025 13:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"