Visual C ++ говорит, что моей void-функции требуется возвращаемое значение
Я скомпилировал это на своем Mac, и он отлично работал, но сейчас я пытаюсь скомпилировать это с помощью Visual C ++ (с использованием Windows 7)
Вот журнал сборки:
Командные строки Создание временного файла
«C: \ Users \ Джонатан \ Documents \ Визуальное
студия
2008 \ Projects \ Магический Квадрат \ Debug \ RSP00000822923000.rsp»
с содержанием [/ Od / D "WIN32" / D
"_DEBUG" / D "_CONSOLE" / D "_UNICODE"
/ D "UNICODE" / Gm / EHsc / RTC1 / MDd
/ Fo "Debug \" /Fd"Debug\vc90.pdb "/ W3
/ c / ZI / TP ". \ magicsquare.cpp"]
Создание командной строки "cl.exe
@ "C: \ Users \ Джонатан \ Documents \ Визуальное
студия
2008 \ Projects \ Магический Квадрат \ Debug \ RSP00000822923000.rsp»
/ nologo / errorReport: подсказка "
Компиляция окна вывода ...
magicsquare.cpp
C: \ Users \ Ионафан \ документы \ визуальный
студия
2008 \ Projects \ Магический Квадрат \ magicsquare.cpp (224)
: ошибка C4716: 'проверка': должна вернуть
Значение
Результаты Журнал сборки был сохранен в
«Файл: // C: \ Users \ Джонатан \ Documents \ Визуальное
студия
2008 \ Projects \ Магический Квадрат \ Debug \ BuildLog.htm»
magicsquare - 1 ошибка (ов), 0 предупреждение (я)
заголовок моей функции и функция
void **check (int **, int);
void **check(int **matrix, int size)
{
//check if first row and last row are the same
int rsum = 0, rsum2 = 0;
bool rowflag = false;
for(int i = 0; i < size; i++)
{
rsum += *(*(matrix + 0) +i);
rsum2 += *(*(matrix + size - 1) +i);
}
//check if first column and last column are the same
int csum = 0, csum2= 0;
bool columnflag = false;
for(int i = 0; i < size; i++)
{
csum += *(*(matrix + i) + 0);
csum2 += *(*(matrix + i) + size - 1);
}
//check if diagonals are the same
int diagonal = 0, diagonal2 = 0;
bool diagonalflag = false;
for(int i = 0; i < size; i++)
diagonal += *(*(matrix + i) + i);
int m = 0;
int n = size - 1;
while (m <= size - 1)
{
diagonal2 += *(*(matrix + m) + n);
m++;
n--;
}
//if row, column, diagonal are the same
if (rsum == rsum2 && rsum2 == csum && csum == csum2 && csum2 == diagonal && diagonal == diagonal2)
cout << "This is a Magic Square\n" << endl;
else
cout << "This is not a Magic Square\n" << endl;
}
здесь весь код, если необходимо
http://pastie.org/691402