我的静态topStock方法有什么问题?它引用了Stock和Stock t。它不应该返回s或t的副本吗?

错误:“。”之前的预期主表达式令牌|

#include <iostream>

using namespace std;

class Stock {

public:

    Stock() : x(0){ }
    Stock(int val) : x(val){}

    void display() const;

    static Stock topStock(const Stock& s, const Stock& t) {
     if (s.x > t.x)
        return s;
    else
        return t;
    }

    int x;
};

void Stock::display() const
{

    std::cout << this->x;

}


int main()
{
    Stock s(9);
    Stock y(8);
    Stock z = Stock.topStock(s, y);
    return 0;
}

最佳答案

更改

Stock.topStock(s, y);




Stock::topStock(s, y);


因为它是静态成员函数。

关于c++ - 如何从静态成员函数返回拷贝?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18881227/

10-15 17:57