#include <iostream>
using namespace std;
string itmCndtn,itemName;
int strtPrice,sellValue,numRelist,optn=0;
class CBAY_ITEM
{
string enterName();
string enterCondition();
int enterStrtPrc();
int enterSellVal();
};
CBAY_ITEM infoClass;
CBAY_ITEM *nPointer=NULL;
int main()
{
int optionChosen=0;
int strtPrcTemp=0,sellValueTemp=0;
do
{
cout << "\nPlease Enter a Choice From the Menu.\n"<<endl;
cout << "\n1.Add an Item to Selling Queue.\n2.Put Item for Sale.\n3.Show Me the Money.\n4.Exit." << endl;
cin>>optionChosen;
switch(optionChosen)
{
case 1:
{
nPointer=new CBAY_ITEM;
nPointer->enterName()=infoClass.enterName();
nPointer->enterCondition()=infoClass.enterCondition();
nPointer->enterStrtPrc()=infoClass.enterStrtPrc();
nPointer->enterSellVal()=infoClass.enterSellVal();
}
case 2:
{
}
case 3:
{
}
}
}while(optionChosen!=4);
return 0;
}
Это мой код до сих пор, я опустил определение функций внутри класса, поскольку это не похоже на то, где проблема. Когда я пытаюсь скомпилировать, компилятор показывает ошибку:lvalue требуется как левый операнд задания?
lvalue required as left operand of assignment.
Я не уверен, что он пытается сказать.
nPointer->enterStrtPrc()=infoClass.enterStrtPrc();
nPointer->enterSellVal()=infoClass.enterSellVal();
должны возвращать ИНТ значения и хранить их в динамически созданном классе infoClass
.
Добавьте 'break' в конце каждого блока корпуса: иначе вы провалитесь. –
@AdrianPanasiuk thanx, я собирался добавить их, как только закончил со всей кодировкой. – 2013-04-27 23:21:55
Это означает, что когда, например, optionChosen == 1, сначала выполняется код из блока 'case 1:', затем код для 'case 2:' и т. Д. (потому что у вас нет разрыва, что означает, что вы не выполняете следующий блок дела) –