Я пытаюсь напечатать данные в showValues (mainStruct *), но я не могу это сделать ..
#include <iostream>
#include <string>
#include <vector>
#include <memory>
typedef struct
{
uint32_t someNumber;
}subStruct;
typedef struct{
uint32_t sizeofSubStruct;
subStruct subStructArray[1];
}mainStruct;
Эта функция создает mainStruct и заполняет его некоторыми значениями
mainStruct* constructMainStruct()
{
mainStruct* msPtr;
msPtr = (mainStruct*)malloc(sizeof(mainStruct)*10);
msPtr->sizeofSubStruct = 10;
subStruct* ssPtr = msPtr->subStructArray;
for(uint32_t i=0; i < msPtr->sizeofSubStruct; i++)
{
ssPtr->someNumber = i+10;
ssPtr++;
}
return msPtr;
}
Следующая функция ничего не печатает
void showValues(mainStruct* msPtr)
{
subStruct* ssPtr = msPtr->subStructArray;
for(uint32_t i=0; i < msPtr->sizeofSubStruct; i++)
{
std::cout << " - " + ssPtr->someNumber <<std::endl;
}
}
Основная функция
int main()
{
//contructing mainStruct with some values
mainStruct* msPtr = constructMainStruct();
//trying to print values which has been created in above step
showValues(msPtr);
}