typedef struct{ short int leftAngle; unsigned short int leftValue; short int rightAngle; unsigned short int rightValue;} MBESValueData;... //далее в коде есть QVector<MBESValueData> *data; // без итераторов именно в таком виде используется(программа не моя мне надо устранить ошибки,а такой вид контейнера далее везде возвращают функции)
data->at(j).leftAngle=0; MBESValueData signal;data.append(signal);
структура находиться в подключаемом файле// пример функции где она испльзуетсяvoid model_mle::imit_test_line_profil(float depth, unsigned int scale , QVector<MBESValueData> *pac_udp_data[4],QByteArray *pac[4] ){ // рТБЧЙМП ДМС ЪОБЛПЧ Х ХЗМПЧ: // ХЗМЩ ПФУЮЙФЩЧБАФУС ПФ ОПТНБМЙ Л БОФЕООЕ // ЪОБЛ НЙОХУ "-" ДМС ХЗМПЧ ПФУЮЙФЩЧБЕНЩИ РП ЮБУПЧПК УФТЕМЛЕ // РМАУ "+" ДМС ХЗМПЧ РТПФЙЧ ЮБУПЧПК УФТЕМЛЙ // float angle_left_antenna = 60.f; // float angle_right_antenna = 120.f; // оБ ЫЛБМЕ 300Н ДМС ХЗМБ 15ЗТБД ЙНЕЕН ОБЛМПООХА ДБМШОПУФШ 311Н // тБЪОЙГБ (311-300Н)/SD=333 ПФУЮЕФБ РП ДБМШОПУФЙ float x; // РМПУЛБС ДЙУФБОГЙС float dist; // ОБЛМПООБС ДЙУФБОГЙС float sin_angle; float angle; // ХЗПМ ПФУЮЙФЩЧБЕНЩК ПФ ЧЕТФЙЛБМЙ float angle0; // ХЗПМ ПФУЮЙФЩЧБЕНЩК ПФ ОПТНБМЙ Л БОФЕООЕ float sin_angle_norm; float dr; // ЫБЗ РП ДЙУФБОГЙЙ int j0; QVector<MBESValueData> *data; MBESValueData signal; unsigned short int size_pac[]={ 864, 2400, 4064, 4064 }; int sz=size_pac[scale]; DEBMESSAGE( JUNK, ("model_mle: start imit_test_line_profil ")); pac[0]->resize(256+sz*8); // ПЮЙЭБЕН ЧУЕ 4 ДБФБЗТБННЩ ? pac[1]->resize(256+sz*8); pac[2]->resize(256+sz*8); pac[3]->resize(256+sz*8); DEBMESSAGE( JUNK, ("model_mle: imit_test_line_profil ----->ok1a ")); j0=(int)(depth/SD); for(int j=0; j<j0; j++) { // это работает нормально data=setMBESValueDatagramm(j,scale,pac_udp_data);// функция возвращает QVector<MBESValueData>* signal.leftAngle= 0; signal.leftValue= 0; signal.rightAngle=0; signal.rightValue=0;// далее пытаюсь записать signal в data }....}
for(int j=0; j<j0; j++) { // это работает нормально data=setMBESValueDatagramm(j,scale,pac_udp_data);// функция возвращает QVector<MBESValueData>* signal.leftAngle= 0; signal.leftValue= 0; signal.rightAngle=0; signal.rightValue=0;// далее пытаюсь записать signal в data }....}
C++ (Qt)struct MBESValueData{// нужен конструктор по умолчанию MBESValueData( void ) : leftAngle(0), leftValue(0), rightAngle(0), rightValue(0) {} short int leftAngle; unsigned short int leftValue; short int rightAngle; unsigned short int rightValue;};
C++ (Qt)data = new QVector<MBESValueData>(10); // 10 элементов (с нулями)data->resize(20); // теперь 20