0

好的,所以我是 C++ 的新手,如果我能问对的话,我很确定这应该是一个简单的问题。基本上这是我需要工作的:

printInfoFromVector(this->mycontroller.createVector)

这是我的实际代码:

vector<GasStation>& highPrices = this->myController.findHighestPrice();
    this->findPrice(highPrices);

vector<GasStation>& findHighestPrice(){

我遇到的问题是我无法让它们的 highPrice 类型和 findHighestPrice() 匹配。我相当确定问题是因为我正在通过 ref 但我很确定这是正确的方法。

谁能告诉我编写赋值语句和方法头以使类型匹配的正确方法?

4

1 回答 1

0

如果findHighestPrice正在计算一个新的向量,那么你不应该返回一个引用,而是一个实际的向量。因此,您将拥有:

vector<GasStation> findHighestPrice() { ... }
vector<GasStation> highPrices = this->myController.findHighestPrice();

例如,如果您定义findHighestPrice

vector<GasStation>& findHighestPrice() {
  vector<GasStation> stations;
  // ...
  return stations;
}

thenstations将在函数返回时被释放并且highPrices未定义。

于 2013-01-27T21:14:56.590 回答