Ваша FieldRecord не является POD. Это совокупность, однако. Чтобы использовать прямую инициализацию, достаточно иметь агрегат. Если ваш тип становится неагрегированным, вам нужно использовать конструктор. Для агрегатов вы можете просто перечислить значения, которые должны получить соответствующие члены, и они будут инициализированы напрямую, возможно, с использованием преобразований для элементов.
Тогда возникает вопрос: что такое совокупность? Ну, это любой класс, который не имеет ни конструкторов, ни деструктора, ни закрытых или защищенных нестатических членов-данных, ни базовых классов, ни виртуальных функций. Если вам нужно что-то из этого, вам нужно дать вашему типу конструктор и создать его оттуда. Это немного более повторяющееся, но вы все равно можете заполнить массив этими объектами. Например:
std::pair<std::string, bool> const table[] = {
std::pair<std::string, bool>("employee_name", true),
std::pair<std::string, bool>("ssn_no", false)
};