Указатели возврата с ошибкой связывания нескольких значений Win32

Я столкнулся с типичным No Entry Point Personality V0 Ошибка до и обойти это с помощью: -fno-exceptions, Хотя в этот раз при использовании обходного пути cmd вылетел и запускается только первым cin >> line программы.

Тем не менее, я могу запустить программу без проблем в MSYS.

Я собрал с:

g++ ReturnPointer.cpp -o ReturnPointer.exe (gave error)

g++ ReturnPointer.cpp -o ReturnPointer.exe -fno-exceptions (runs: MSYS Shell Only)


    #include <iostream>

short factor(int, int*, int*);

int main()
{
int number, squared, cubed;
short error;

std::cout << "Enter a number (0 - 20 ): ";
std::cin >> number;

error = factor(number, &squared, &cubed);

if (!error)
{
std::cout << "number: " << number << "\n";
std::cout << "square: " << squared << "\n";
std::cout << "cubed: " << cubed << "\n";
}
else
std::cout << "Error encountered!!\n";

return 0;
}

short factor(int n, int* pSquared, int* pCubed)
{
short value = 0;
if (n > 20)
{
value = 1;
}
else
{
*pSquared = n * n;
*pCubed   = n * n * n;
value = 0;
}
return value;
}

Конечно, это не конец света. Я просто расширяю свои знания в области C ++, которая меня очень удивляет. Хотя, если бы я когда-либо использовал указатели таким образом в более крупной программе … это превратилось бы в беспорядок.

Я просто хотел бы знать, что нужно сделать или чего мне не хватает, чтобы запустить это в CMD.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]