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

Не правильная работа memcpy с вектором - параметром функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Арифметическое кодирование http://www.cyberforum.ru/cpp-beginners/thread249841.html
Мне задали задание по арифм. кодировании. Я что-то не очень знаю что это такое и зчем его едят.... Прошу вас о помощи... Конкретнее было бы хорошо. если б вы обяснили это на пальцях и показали...
C++ Сумма элементов массива помогите плиз. Есть прога, пользователь вводит размер и элементы двух массивов после чего они сортируются и складываются. Результат должен быть третий массив. У меня почему то неправильно работает... http://www.cyberforum.ru/cpp-beginners/thread249836.html
Переставляя строки и столбцы матрицы, добиться, чтобы наибольший элемент оказался в верхнем левом углу C++
Дана вещественная матрица A размером 7*4. Переставляя ее строки и столбцы,добиться того,чтобы наибольший элемент (один из них) оказался в верхнем левом углу. Помогите решить на C++.
C++ Массив NxN. Упорядочить столбцы по возрастанию.
Дан двумерный массив NxN. Упорядочить столбцы по возрастанию.
C++ Создание динамического массива http://www.cyberforum.ru/cpp-beginners/thread249818.html
объясните пожалуйста вот эту часть // sozdanie dinamicheskogo massiva m*n a=(int**)malloc(m*sizeof(int *)); for(i=0;i<m;i++) { a=(int *)malloc(n*sizeof(int)); } заранее спасибо ...
C++ Организовать выбор одной из трёх программ Создать программу с использованием меню. Вданной программе должен быть организован выбор одно из трёх программ: 1) Вычислить значение У У={a-b при b>0 {a+b при b<=0 2) Дан одномерный массив... подробнее

Показать сообщение отдельно
DKOI
24 / 24 / 1
Регистрация: 08.09.2010
Сообщений: 136

Не правильная работа memcpy с вектором - параметром функции - C++

28.02.2011, 13:11. Просмотров 706. Ответов 4
Метки (Все метки)

Есть функция

C++
1
2
3
4
5
6
7
8
int
InitX( CUSTOMVERTEX InVertexes[], int VertexCount )
{
    //...
    void* pBV;
    memcpy(pBV, &InVertexes, sizeof(InVertexes));
    //...
}
В основной программе описан вектор
C++
1
CUSTOMVERTEX Vertexes[10]; //(CUSTOMVERTEX - стурктура)
В программе вызывается
C++
1
InitX( Vertexes, 10 );
Просматривая дебагером обнаружил, что в *pDV лежит не Vertexes, как то ожидается, а какая-то муть.
Если использовать
C++
1
memcpy(pBV, &InVertexes[0], sizeof(InVertexes));
то правильно копируется ровно первое поле нулевого вектора, а дальше то же самое что и в первом варианте. Однако если InVertexes описывается внутри функции или глобально, то в *pDV лежит ровно то, что ожидается. Подскажите пожалуйста, как справиться с такой бедой. Вариант с глобальным вектором - не применим, так как функция должна быть независимой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.