Visual C++ говорит моя пустота функция должна возвращаемое значениеVisual C++ говоря недействительным функция должна возвращать значение
Я скомпилированный это на мой макинтош, и она работала отлично, но теперь я пытаюсь скомпилировать это с видео C++ (с использованием Windows 7)
Heres журнал сборки:
командных строк Создание временного файла «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 /с/ZI/TP] Создание командной строки "cl.exe @" C "\ magicsquare.cpp.": \ Users \ Джонатан \ Documents \ Визуальная Студия 2008 \ проекты \ Магический Квадрат \ Debug \ RSP00000822923000.rsp " /NOLOGO/errorReport: подсказка"
окно вывода Компиляция ... magicsquare.cpp C: \ Users \ Ионафан \ документы \ визуальные студии 2008 \ Projects \ мама gicsquare \ magicsquare.cpp (224) : ошибка C4716: 'проверить': должна возвращать значение
Результаты бревенчатых был сохранен в файле» : // C: \ Users \ Джонатан \ Documents \ Визуальная Студию 2008 \ Projects \ Магический Квадрат \ Debug \ BuildLog.htm» Магический Квадрат - 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
как это правильно скомпилировалось на моем mac тогда? – Raptrex
@ Raptrex, это не так. На Mac ничего не работает. – strager
ouch, любые другие причины? – Raptrex