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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.73
Van111
кодер с++
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
#1

испортился компилятор посмотрите - C++

16.10.2011, 13:04. Просмотров 1439. Ответов 24
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// 1.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
 
int main(int argc, char* argv[])
{
    for (int i=1;i<10;i++)
    {}
int i=1;
 
    return 0;
}
выводит ошибку
C:\Program Files\Microsoft Visual Studio\MyProjects\1\1.cpp(10) : error C2374: 'i' : redefinition; multiple initialization
C:\Program Files\Microsoft Visual Studio\MyProjects\1\1.cpp(8) : see declaration of 'i'

а раньше всё было нормально что делать помогите пожалуйста

Добавлено через 7 минут
компилятор mv c++ 6 (MVS 6 обрезаный)
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2011, 13:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос испортился компилятор посмотрите (C++):

Компилятор (Visual C++ 6.0) в плохой совместимости с Windows 7. Посоветуйте другой компилятор - C++
Здравствуйте! Я недавно начал заниматься С++, но мой компилятор (Visual C++ 6.0) в плохой совместимости с Windows 7 Посоветуйте какой...

Посмотрите контрольную.... - C++
на носу сдача контрольной и мне надо сделать программки небольшие на С++. Помогите мне пожалуйста с ними. 1. Объявите 2 структуры с...

я новенький....посмотрите.. - C++
Описать процедуру TimeToHMS(T, H, M, S), определяющую по времени T (в секундах) содержащееся в нем количество часов H, минут M и секунд S...

Посмотрите задачу - C++
есть программа #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; int main() { ...

Посмотрите програму - C++
Народ помогите пожалуйста. Програмку до утра надо написать а сам чет вообще не могу. Массив вроде задаю сортирую а по элементам не...

Посмотрите сюда - C++
Помогите, чем можете) Переделать, чтобы работала в Borland C++ 3.11 В заданной строке в первой половине строки все точки заменить...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alkagolik
Заблокирован
16.10.2011, 14:37 #16
как вам такой фокус?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main(){
 
    for (int i = 0; i < 10; ++i)
    {
 
    }
    int i = 10;
 
    for (int i = 0; i < 3; ++i)
    {
        for (int i /*объявлена но к ней обратиться не получится*/ = 0; i < 3; ++i)
            std::cout << i << ' '<< i << std::endl;
    }
    std::cout << i << ' ' << std::endl;
 
    return 0;
}
1
Bers
Заблокирован
16.10.2011, 14:53 #17
Так то понятно - не хочешь проблем, пиши православный (потенциально безопасный) код.
Но все таки интересно, что об этом нюансе говорит стандарт языка?
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
16.10.2011, 15:40 #18
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Оно?
If the for-init-statement is a declaration, the scope of the name(s) declared extends to the end of the for-
statement. [ Example:
int i = 42;
int a[10];
for (int i = 0; i < 10; i++)
a[i] = i;
int j = i; // j = 42
- end example ]


пункт 6.5.3, сдуто с черновика принятого недавно стандарта.
4
Сыроежка
Заблокирован
16.10.2011, 17:50 #19
Цитата Сообщение от Van111 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// 1.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
 
int main(int argc, char* argv[])
{
    for (int i=1;i<10;i++)
    {}
int i=1;
 
    return 0;
}
выводит ошибку
C:\Program Files\Microsoft Visual Studio\MyProjects\1\1.cpp(10) : error C2374: 'i' : redefinition; multiple initialization
C:\Program Files\Microsoft Visual Studio\MyProjects\1\1.cpp(8) : see declaration of 'i'

а раньше всё было нормально что делать помогите пожалуйста

Добавлено через 7 минут
компилятор mv c++ 6 (MVS 6 обрезаный)
Если вы имеет дело с версией MVC++ 6, то переменные, объявленные в цикле, имеют область видимости тот внешний блок, в котором имеется предложение цикла. То есть после выхода из цикла, переменная продолжает "жить". Это естественно не соответствует стандарту С++ 2003, но тем не менее в те времена, когда появилась 6 вресия, стандарт С++ 2003 еще не был полностью реализован в компиляторах.

Поэтому компилятор вам правильно говорит о существовании ошибки, то есть в одной и той же области объявлений он встречает переопределение идентификатора.

Вам следует порльзоваться более современными компиляторами.
0
Van111
кодер с++
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
16.10.2011, 18:54  [ТС] #20
а вот ещё одно предположение проблемы у меня после восстановления системы включилась автоматическая обновление ОС (а в неё входили net fraemwork и redistributable) я так думаю что они могли обновился и изменить mv c++ 6 щас она у меня вообще глючить стала.
из за этого могли начаться проблемы????????????????
P.S. я ещё дров на устанавливал стандартных
0
Nameless One
Эксперт С++
5773 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
16.10.2011, 19:02 #21
Van111, нет, это известная ошибка студии 6.0 (правда, на момент ее выпуска, как уже сказали выше, оно и ошибкой не было). К обновлению оно не имеет никакого значения. И наверное каждый, кто хоть раз пользовался студией 6.0, с этой ошибкой сталкивался
1
Van111
кодер с++
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
16.10.2011, 19:09  [ТС] #22
спасибо Nameless One
если честно то в 6 студии куча глюков, а на 2010 я переходить не хочу она вроде как слишком большие exe создают но ради удобства RAD можно и её заняться
а если я обычные проги буду на dev 5 писать они сильно в скорости выполнения будут 6 студии уступать??????????
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
16.10.2011, 19:14 #23
Не знаю, что ты вкладываешь в понятие "обычные", но простые консольные проги набивания руки и оттачивания глаза ради только и надо писать на DEV, MSVS для конструктора форм.
1
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
16.10.2011, 19:16 #24
Van111, google на запрос "dev 5" выдаёт "цифровые бинокли". Выражайтесь конкретнее.

Если так хотите visual studio - пробуйте 2003, 2005 - те, вроде, ещё ничего. И они ЛУЧШЕ vs6. А вообще, попробуйте среды, использующие MinGW.
0
Nameless One
16.10.2011, 19:36     испортился компилятор посмотрите
  #25
 Комментарий модератора 
Ответ на вопрос ТС получен, тема закрыта. Желающие обсудить особенности компилятора в MS Visual C++ 2010 могут сделать это тут
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2011, 19:36
Привет! Вот еще темы с ответами:

Просто посмотрите! - C++
Ув. дамы и госопода просьба к вам которые знают и могут помочь в задачках. Хотелось бы чтоб все были сделаны, но по возможности сколько...

Посмотрите код - C++
Всем доброго времени суток. Вот написал програмку, которая считает сумму элементов массива. Помогите написать её через svitch.Заранее...

Посмотрите сюда - C++
Помогите пожалуйста. Что нужно: 1.Создать проект, который включает консольную программу Win32. 2.Создать динамический массив,...

Посмотрите на программу - C++
1. Описать структуру с именем AEROFLOT, содержащую следующие поля: -название пункта назначения рельса -номер рейса -тип самолета 2....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.10.2011, 19:36
Закрытая тема Создать тему
Опции темы

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