C++ я получаю следующие ошибки и не могу показаться, чтобы решить их:Нерешенные внешняя ссылка в функции
ошибка LNK2019: неразрешенный внешний символ «двойной __cdecl orderIn (двойной, двойной, двойной)» (? orderIn @@ YANNNN @ Z) ссылка в функции _main
фатальных LNK1120 ошибки: 1 неразрешенных внешнеположенности
Я знаю, что есть что-то не так с тем, как я пытаюсь передать переменный через функцию, но я просто не может это получить. Я хочу, чтобы информация, собранная и рассчитанная в первой функции, проходила и использовалась второй функцией. Я пробовал множество методов безрезультатно.
Что мне здесь не хватает?
Спасибо!
#include <iostream>
#include <iomanip>
using namespace std;
double orderIn(double, double, double);
void shippingOut(double, double, double);
double spoolsOrdered,
spoolsInStock,
shipping,
total,
backordered,
charges,
spoolsShipping;
int main()
{
orderIn(spoolsOrdered, spoolsInStock, shipping);
shippingOut(spoolsShipping, backordered, total);
return 0;
}//end int main
double orderIn(double &spoolsOrdered, double &spoolsInStock, double &shipping)
{
char extracharge;
//spools ordered
cout << "How many spools would you like to order? ";
cin >> spoolsOrdered;
while (spoolsOrdered < 1)
{
cout << "That is not a valid entry ";
cin >> spoolsOrdered;
}
//spools in stock
cout << "How many spools are currently in stock? ";
cin >> spoolsInStock;
//extra charges
cout << "Are there any special charges on this order? ";
cin >> extracharge;
//special charges
if (extracharge == 'Y' || extracharge == 'y')
{
cout << "What is the additional charge per spool? ";
cin >> charges;
shipping = (10 + charges);
}
else
shipping = 10;
return (&spoolsOrdered, &spoolsInStock, shipping);
}
void shippingOut(double spoolsOrdered, double spoolnStock, double shipping)
{
double backordered;
double subTotal;
double totalShipping;
double total;
double spoolsShipping;
if (spoolsOrdered > spoolsInStock)
{
backordered=(spoolsOrdered - spoolsInStock);
cout << "There are " << spoolsInStock << " spools ready to be shipped./n";
cout << "The remaining " << backordered <<" are on backorder.";
spoolsShipping=spoolsInStock;
}
else
{
cout << "All " <<spoolsOrdered << " spools ordered are ready to ship.\n";
spoolsShipping=spoolsOrdered;
}
//Product Charges
subTotal = spoolsShipping * 100;
cout << "Subtotal: $" << subTotal << endl;
//Shipping Charges
totalShipping = spoolsOrdered * shipping;
cout << "S/H Total: $" << totalShipping << endl;
//Total
total = subTotal + totalShipping;
cout << "The total of the order ready to ship is: $" << total << endl;
}
Я нахожусь в своем первом классе на C++ и чувствую, что пропустил некоторые основы курса. a) Когда я пытался запустить его в прошлом, я мог только заставить его работать, задав переменные перед main. Где должны объявляться все эти переменные? b) Какова связь между переменными и параметрами? – omadison
Большое вам спасибо за советы. Я пересмотрел код следующим образом, и теперь моя единственная ошибка заключается в том, что ни в каком контексте я не могу конвертировать из double * в double. Идеи? Я почти уверен, что мой двойник и теперь последователен. (должен ли я обновить вышеприведенную запись? С текущим кодом?) – omadison
Прочтите ревизию (дополнение) Я только что сделал свой ответ. Если вам нужно разместить больше кода, добавьте его, а не замените оригинал. Но добавьте как можно меньше. Узнайте, как создать MCVE ([Минимальный, полный, проверенный пример] (http://stackoverflow.com/help/mcve)) или SSCCE ([Short, Self-Contained, Correct Example] (http: // sscce. org /)) - два имени и ссылки для одной и той же базовой идеи. –