Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

использование вектора в #pragma data_seg

17K
01 февраля 2007 года
olyx
13 / / 26.01.2007
Подскажите, чито не так? Почему компилятор ругается на missing ';' before '<', ведь вектор описывается именно так?
 
Код:
#include <vector>  
struct TMouseHook{ 
    HWND hWind;
    HHOOK Hook;
}; 
#pragma data_seg(".AAA")   
vector <TMouseHook> hooklist(1,NULL);  
#pragma data_seg() 
#pragma comment(linker, "/section:.AAA,rws")

Может есть какие то ограничения на содержимое data_seg и векторы не допускаются?
309
01 февраля 2007 года
el scorpio
1.1K / / 19.09.2006
Цитата:
vector <TMouseHook> hooklist(1,NULL);


Итак, мы создали в стеке объект - вектор структуры. И тут же пытаемся его инициировать, передавая в конструктор два числа.
Вопрос - а такой конструктор вооще есть?

1.8K
01 февраля 2007 года
k3Eahn
365 / / 19.12.2005
Плюс ко всему, извечная проблема с неймспейсами.
Цитата: el scorpio
Итак, мы создали в стеке объект - вектор структуры.


Здесь объект будет не в стеке;).

17K
02 февраля 2007 года
olyx
13 / / 26.01.2007
"Вопрос - а такой конструктор вооще есть?"
MSDN - vector(
size_type _Count,
const Type& _Val
); - инициализируем 1 элемент значением NULL

"Здесь объект будет не в стеке." - а где же тогда? Прдскажите плиз :)
17K
02 февраля 2007 года
olyx
13 / / 26.01.2007
"Плюс ко всему, извечная проблема с неймспейсами."
Да, эту проблему выявил. ::std::vector. Теперь и компилятор не ругается :)
1.8K
02 февраля 2007 года
k3Eahn
365 / / 19.12.2005
Цитата: olyx
"Вопрос - а такой конструктор вооще есть?"
MSDN - vector(
size_type _Count,
const Type& _Val
); - инициализируем 1 элемент значением NULL


А NULL разве имеет тип const TMouseHook&?
Если уж возникла необходимость инициализировать вектор таким способом, то так будет, имхо, правильнее:

 
Код:
#include <vector>    
struct TMouseHook{    
    HWND hWind;    
    HHOOK Hook;    
};    
#pragma data_seg(".AAA")
TMouseHook nullHook = {NULL, NULL};
std::vector <TMouseHook> hooklist(1, nullHook);    
#pragma data_seg()    
#pragma comment(linker, "/section:.AAA,rws")


Цитата: olyx

"Здесь объект будет не в стеке." - а где же тогда? Прдскажите плиз :)


Как где? Как будто #pragma data_seg не ты писал:) и не знаешь, что это такое. Ну естественно он будет в секции .AAA.

17K
05 февраля 2007 года
olyx
13 / / 26.01.2007
спасибо! попробую :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог