Я пытаюсь написать функцию клей между двумя типами данных, и я не могу заставить компилятор быть счастливым. С одной стороны, у меня есть указатель на порции данных, которые логически AnX 2 массива, но объявлен как:нужен синтаксис броска для доступа к старому c api
double* pData=new double[2*n];
С другой стороны, у меня есть функция переменного тока, который объявлен как
void Function(double data[][2], int n);
Если я помню свой синтаксис c, данные [] [2] на самом деле являются указателем на непрерывный кусок памяти, но компилятор знает, что размер второго измерения равен 2. Поэтому я хотел бы взять pData и передайте его в функцию() без memcpy. Я просто не могу написать бросок. Я думал, что-то вроде
Function((double [][2])pData,n)
будет работать, но компилятору (MSVC 8) это не нравится. Может ли кто-нибудь сообщить мне правильный способ написать актерский состав, чтобы заставить компилятор быть счастливым.
двойные данные [] [2] являются двойными **, а y наша pData двойная * –