Синтаксис ...
struct process {int PID;int myMemory[];};
... не действует C++, но он может быть принят некоторыми компиляторами в качестве расширения языка. В частности, насколько я помню, g ++ принимает его. Он поддерживает C "struct hack", который не нужен в C++.
В C++, если вы хотите переменную массив длины в структуры, использовать std::vector
или какой-либо другой массив типа класса, как
#include <vector>
struct Process
{
int pid;
std::vector<int> memory;
};
Кстати, это хорошая идея, чтобы зарезервировать использование прописных ИДЕНТИФИКАТОРОВ для макросов, чтобы уменьшить вероятность совпадений имен с макросами и не заставить людей читать код глухим (это кричит).
Приветствия & НТН.,
Кто проголосовал за это? Начиная с Java, вы можете не знать о STL-классах и насколько они важны. Очень важно консультировать тех, кто знаком с C++, что стандартные библиотеки шаблонов чрезвычайно полезны. Единственная причина, по которой вы должны вручную управлять массивом на основе кучи, - это упражнение для домашней работы. –