Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 功能定义不允许零售商品_C++_Class_Function Declaration - Fatal编程技术网

C++ 功能定义不允许零售商品

C++ 功能定义不允许零售商品,c++,class,function-declaration,C++,Class,Function Declaration,我在运行代码时遇到了一些问题。我有两个单独的文件来创建RetailItem类和创建main。我在项目中创建了这两个 下面是main.cpp //main #include "retailitem.h" #include <iostream> #include <iomanip> using namespace std; using std::cout; void displayItem(RetailItem *, const int); int main() {

我在运行代码时遇到了一些问题。我有两个单独的文件来创建RetailItem类和创建main。我在项目中创建了这两个

下面是main.cpp

//main 
#include "retailitem.h"
#include <iostream>
#include <iomanip>

using namespace std;
using std::cout;
void displayItem(RetailItem *, const int);
int main()
{
   const int Item = 3;
   RetailItem ritem[Item] ={ { "Jacket", 12, 59.95 },
                          { "Designer Jeans", 40, 34.95 },
                          { "Shirt", 20, 24.95 } };

   //cout << fixed << setprecision(2);
    void displayItem(RetailItem *ritem, const int Item){

  cout <<"      DESCRIPTION UNITS ON HAND   PRICE";

cout<<"=================================================================\n";

for (int i = 0; i < Item; i++)
{
    cout << setw(12) << ritem[i].getDesc();
    cout << setw(12) << ritem[i].getUnits();
    cout << setw(8) << ritem[i].getPrice();

}

cout << "===================================================================";
}
return 0;

}
//main
#包括“retailitem.h”
#包括
#包括
使用名称空间std;
使用std::cout;
无效显示项(零售项*,常量int);
int main()
{
const int Item=3;
零售项目ritem[项目]={{“夹克”,12,59.95},
{“设计师牛仔裤”,40,34.95},
{“衬衫”,20,24.95};

//cout错误消息无疑包含一个行号,告诉您问题所在。这是描述问题的一个重要部分。但在这里,它恰好是显而易见的:
void displayItem(RetailItem*ritem,const int Item){
是函数定义的开始。不能在另一个函数中定义函数。请将其移到
main
之外

为什么
displayItem
函数写在main里面?
//RetailItem class
#include <string>

using namespace std;

class RetailItem
{
private:
    string description;
    int unitsOnHand;
    double price;

public:
RetailItem(string,int,double);
    void setDesc(string d);
    void setUnits(int u);
    void setPrice(double p);

    string getDesc();
    int getUnits();
    double getPrice();
};
RetailItem::RetailItem(string desc, int units, double cost)
   {
       description = desc;
       unitsOnHand = units;
       price = cost;
   }
void RetailItem::setDesc(string d)
{
description = d;
}
void RetailItem::setUnits(int u)
{
unitsOnHand = u;
}
void RetailItem::setPrice(double p)
{
price = p;
}

string RetailItem::getDesc()
{
return description;
}
int RetailItem::getUnits()
{
return unitsOnHand;
}
double RetailItem::getPrice()
{
return price;
}