C ++新手:从实现学习单独的接口并得到错误:VSCode中的二进制表达式的操作数无效

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C ++新手:从实现学习单独的接口并得到错误:VSCode中的二进制表达式的操作数无效相关的知识,希望对你有一定的参考价值。

我正在学习单独的接口与C ++中的实现,并得到错误。

搜索它,但不知道我应该如何在我的代码中实现这一点。我需要你的帮助才能理解这个错误并更正我的代码。

InvoiceClass.h:

#include<string>
using namespace std;

class InvoiceClass{
    private:
        int price;
        int quantity;
        string partName;
        string partDescription;

    public:
        InvoiceClass(string, string, int, int);
        void displayInvoice();
        void setDetail(string, string, int, int);
};

InvoiceClass.cpp:

#include<iostream>
#include"InvoiceClass.h"
using namespace std;

// Constructor function.
InvoiceClass::InvoiceClass(string partName, string partDescription, int qty, int price){
    price = price;
    quantity = qty;
    partName = partName;
    partDescription = partDescription;
}

void InvoiceClass::setDetail(string partName, string partDescription, int qty, int price){
    price = price;
    quantity = qty;
    partName = partName;
    partDescription = partDescription;
}

void InvoiceClass::displayInvoice(){
    cout<<"Invoice"<<endl;
    cout<<"Item    "<<"Desc      "<<"QTY      "<<"Price"<<endl;
    cout<<partName<<"     "<<partDescription<<"     "<<quantity<<"     "<<price<<endl;
}

main.cpp中:

#include<iostream>
#include"InvoiceClass.h"
using namespace std;

// Main function
int main(){
    InvoiceClass customer("iMac", "By Apple", 1, 219000);

    cout<<customer.displayInvoice()<<endl;
}

它应该打印displayInvoice()的输出。请帮我。

答案

当你这样做时,你的功能不会返回

 cout<<customer.displayInvoice()  

你基本上说显示我的函数返回的内容,我认为你不想这样做

int main(){
    InvoiceClass customer("iMac", "By Apple", 1, 219000);

    customer.displayInvoice();
}

另外:在你的构造函数中

编译器在构造函数输入中的“价格”与类的变量价格与其他变量相同之间混淆,因此您必须使用“this”来消除这种混淆

 InvoiceClass::InvoiceClass(string partName, string partDescription, int qty,  int price) {
    this->price = price;
    quantity = qty;
    this->partName = partName;
    this->partDescription = partDescription;
}

setDetail函数中的问题相同

以上是关于C ++新手:从实现学习单独的接口并得到错误:VSCode中的二进制表达式的操作数无效的主要内容,如果未能解决你的问题,请参考以下文章

02新手之章 —— 敲出闻名世界的“Hello World”

java中的抽象类接口[关闭]

Go 语言从新手到大神:每个人都会踩的五十个坑(转)

安装并配置Apache

mfp cordova 创建错误

并查集——新手学习记录