类型“类名”不提供呼叫操作员。C ++

普拉尔1988

假设以下内容:

  • 我们有class Personclass Job

    class Job {
    public: 
        Job(); //default constructor
        Job(char * n); //parameterized constructor
        ~Job(); //destructor
    protected:
        Salary p; //another class
    }    
    
    class Person {
    public:
         Person(); //default constructor
         ~Person(); //destructor
         void set_job_name(char * n); //pass the job name to `Job` constructor
    
    protected:
         Job obj;
    };
    

当我尝试使用set_job_name(char * n)Job类的参数化构造函数时,出现此错误有Type "Job" does not provide a call operator.什么想法吗?

这是做set_job_name()什么的:

void Person::set_job_name(char * n) {
    obj(n);
}
萨胡

线

obj(n) 

等效于:

obj.operator()(n) 

这是不正确的,因为Job它没有operator()功能。

要重置的值obj,请使用:

void Person::set_job_name(char * n) 
{
   obj = Job(n);
}

您可以通过在中提供一个set_name功能来简化它Job如果这样做,以上内容可能是:

void Person::set_job_name(char * n) 
{
   obj.set_name(n);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

类型不提供呼叫操作员

来自分类Dev

临时呼叫操作员<<

来自分类Dev

C ; 操作员用法

来自分类Dev

Mosel的操作员不兼容的类型

来自分类Dev

为什么必须使用&引用呼叫操作员

来自分类Dev

C ++-更改基类指向的对象(在操作员oveloading函数中返回对基类的引用)

来自分类Dev

C ++操作员订单评估

来自分类Dev

Java 8中为操作员提供的便利功能?

来自分类Dev

为 MLEngine 气流操作员提供参数

来自分类Dev

Javascript:?操作员

来自分类Dev

新线操作员

来自分类Dev

Javascript:?操作员

来自分类Dev

Java ==!= && || 操作员?

来自分类Dev

IP地址或inet类型的操作员“未包含Postgres”

来自分类Dev

Powershell字符串中的通配符,用于呼叫操作员

来自分类Dev

POWERSHELL-呼叫操作员-此结构是什么意思?

来自分类Dev

Powershell字符串中的通配符,用于呼叫操作员

来自分类Dev

UMDH不提供呼叫堆栈

来自分类Dev

C# ??操作员在财产,它是如何工作的?

来自分类Dev

Sobel操作员C-边缘检测出错

来自分类Dev

Sobel操作员C-边缘检测出错

来自分类Dev

C程序中的操作员价值评估问题

来自分类Dev

Linux C ++新操作员非常慢

来自分类Dev

操作员超载怀疑

来自分类Dev

操作员<<奇怪的行为

来自分类Dev

提高+ =操作员绩效

来自分类Dev

和操作员Lisp

来自分类Dev

Sobel操作员MaskX

来自分类Dev

正确使用?? 操作员