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

Проблема с typedef.... не виден новый тип данных! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сравнить логически два массива http://www.cyberforum.ru/cpp-beginners/thread394694.html
Сравнить , используя логическое или(||) два одномерных массива (А и В) и записать результат в массив С Массивы создал , но не знаю как сравнить и записать результат в С . В A и B должны быть любые числа (int) а С должен состоять из множества 0 и 1 Как такое организовать, подскажите ребят !!!
C++ Помогите запрограммировать задачи на Одномерные массивы Доброго времени суток, форумчане! ;) помогите с работой, пожалуйста ) Буду благодарен 1. Дан массив действительных чисел. Среди них есть равные. Найти первый максимальный элемент массива и заменить его нулем. 2. В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1; y1, x2; y2 , x3; y3 и т.д. Определить... http://www.cyberforum.ru/cpp-beginners/thread394685.html
C++ Вывести все слова, в которых есть буква "a"
не могу найти ошибку int i=0,j=0,a=0,schet=0; char s,s1; cin.getline(s,50); while(i<50) { if((isspace(s)) && (isalnum(s))) { j=i-1;schet=0; while((!isspace(s)) || (s=='\n'))
Как работает метод Пузырька? C++
Добрый день, господа... Делаю задание по сортировке массива... Нашел вот эту статью - http://debugni.ru/index.php?option=com_content&view=article&id=5:2011-02-16-05-57-40&catid=2:2011-01-30-18-28-02&Itemid=14 , но не могу понять, как работает этот метод... Можите как-то подробнее рассказать о его работе (желательно по этому коде)...
C++ Программа на С++ "Записная книжка" http://www.cyberforum.ru/cpp-beginners/thread394643.html
Ребят помогите)) Нажна программа на С++ "Записная книжка"... может у кого есть уже готовая!!!...в общем помогите) "Программа «Записная книжка». Предназначена для ввода текста с последующим его сохранением, печатью и открытием. Входная информация – текст в окне программы, настройки (гарнитура, размер шрифта, цвет, параметры печати и т.д.). Выходная информация – текстовый документ в электронном...
C++ Вводится последовательность целых чисел, 0-конец последовательности. Содержит ли последовательность хотя бы два числа, кратных 3,5,7? Вводится последовательность целых чисел, 0-конец последовательности. Содержит ли последовательность хотя бы два числа, кратных 3,5,7? Именуйте темы осмысленно! подробнее

Показать сообщение отдельно
Сыроежка
Заблокирован
29.11.2011, 15:32     Проблема с typedef.... не виден новый тип данных!
Fantom.AS,

У вас в коде тип T объявляется локальным по отношению к блоку кода switch

Как ни странно, но у меня в MS VC++ 2010 прошел следующей код.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include  <iostream>
 
template <typename T>
void type()
{
    std::cout << typeid( T ).name() << std::endl;
}
 
int main()
{
 
    int i = 1;
 
    if ( i == 0 ) typedef int T;
    if ( i == 1 ) typedef char T;
 
    type<T>();
}

Я извиняюсь, но сразу же не заметил, что этот код некорректный! Дело в том, что в этом коде переопределяется тип T с помощью typedef, а это некорректно. В стандарте говорится, что компилятор не обязан делать предупреждения, что это переопредеение некорректно. Поэтому компилятор в данном случае принимает во внимание последнее определение typedef То есть даже если i = 0, значением T все равно будет char.

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