Я новичок в c ++ и использую платформу Arduino. Я писал программу для своего проекта, и в какой-то момент мне нужно преобразовать декартову систему координат в цилиндрическую систему координат. Программа принимает массив с плавающей запятой размера 3, делает с ним что-то и возвращает новый массив с плавающей запятой размера 3 с координатами в другой системе. Я продолжаю получать сообщение об ошибке «выход из состояния 1, не могу преобразовать« float * »в« float »в ответ», и я абсолютно не знаю, что не так с моим кодом или как его исправить. Может кто-нибудь, пожалуйста, помогите мне понять, что происходит?
float CartesianToCylindrical (float pos[]){ //pos is in the form of [x,y,z]//
float cylpos[3];
cylpos[0] = sqrt((pos[0] ^ 2) + (pos[1] ^ 2));
cylpos[1] = atan(pos[1] / pos[0]);
cylpos[2] = pos[2];
return cylpos; //return in the form of [r,theta,z]//