Russian Qt Forum

Программирование => С/C++ => Тема начата: Igors от Сентябрь 16, 2010, 20:59



Название: typeof (MSVC)
Отправлено: Igors от Сентябрь 16, 2010, 20:59
Добрый день

Написал так
Код
C++ (Qt)
template <class T>
void func( T & vec )
{
 ...
 typeof(vec[0]) temp;
 vec.push_back(temp);
 ..
}
 
И все хорошо пока не было Вындоуз  :'(   MSVC 2008 typeof никак не понимает. Пробовал __typeof__ и __typeof последний даже подсвечивается как keyword, но все равно

Код
C++ (Qt)
int a;
__typeof(a) b;
// ошибка
error C2146: syntax error : missing ';' before identifier 'b'
 
Как уговорить?

Спасибо


Название: Re: typeof (MSVC)
Отправлено: Kolobok от Сентябрь 16, 2010, 21:17
Не знаю, поможет...

http://msdn.microsoft.com/ru-ru/library/ms235260(VS.80).aspx
 (http://msdn.microsoft.com/ru-ru/library/ms235260(VS.80).aspx)


Название: Re: typeof (MSVC)
Отправлено: Igors от Сентябрь 16, 2010, 22:14
Не знаю, поможет...

http://msdn.microsoft.com/ru-ru/library/ms235260(VS.80).aspx
 (http://msdn.microsoft.com/ru-ru/library/ms235260(VS.80).aspx)
Там я много раз был  :)
Насколько я понял, это не то, там возвращается информация о типе, а мне нужно просто объявить переменную такого типа


Название: Re: typeof (MSVC)
Отправлено: SimpleSunny от Сентябрь 16, 2010, 22:56
В 2010 появился decltype (c++0x)
http://msdn.microsoft.com/ru-ru/library/dd537655.aspx


Название: Re: typeof (MSVC)
Отправлено: navrocky от Сентябрь 19, 2010, 12:25
Код
C++ (Qt)
BOOST_TYPEOF(vec[0]) temp;
vec.push_back(temp);
 

Тоже самое, но кроссплатформенно.