Хорошо, все когда-то были новичками. Я действительно рекомендую вам прочитать одну или две книги, посвященные c ++. (Лично я изучал программирование с помощью «Learn c ++ за 21 день», многие жалуются, но это было хорошее начало для меня).
И для кода. Не уверен, что это то, что вам нужно, оно должно выглядеть так:
bool Square::is_magic()
{
int i;
for (i = 0; i < size-1; i++)
{
if (sum_row[i] != sum_row[i+1])
return false;
if (sum_col[i] != sum_col[i+1])
return false;
}
if (sum_row[0] != sum_col[0])
return false;
if (sum_row[0] != sum_maindiag[0])
return false;
if (sum_row[0] != sum_other[0])
return false;
return true;
}
Некоторые комментарии:
Вам не нужны скобки для 1 команды после оператора if, for, while,
Предложите использовать if -> else if -> else. Здесь это не имеет значения, поскольку вы выпрыгиваете из функции, как только обнаруживаете, что что-то не так, но в случае продолжения работы с кодом вы проверяете другие операторы, даже если в этом нет необходимости.
Привыкайте к какому-то стилю, создавайте свой или копируйте чей-либо. Лично я использую скобки таким образом:
если (что-то! = Что-то еще) {
doSomeNastyThings ();
doEvenMore ();
}
Удачи ..
Редактировать: добавлено объявление переменной int для оператора, обновлены квадратные скобки (умная идея, так как последние 3 if-s не используют индекс)