2015-05-29 65 views
0

我有以下removeOneParam(Parameter* param)代碼是從這個answer矢量擦除remove慣用法編譯錯誤

class A 
    { 
     private: 
      std::vector<Parameter*> params; 
     public: 
      void removeOneParam(Parameter* param) 
      { 
      params.erase(std::remove(params.begin(), params.end(), param), params.end()); 
      } 
} 

,但我得到以下編譯錯誤:

​​

哪有我用這個答案來處理我的案子?

+2

你忘了'#include ' –

回答

2

您的編譯器正在拾取cstdio標題中的std::remove版本,而不是您想要的版本。您可能會丟失#include <algorithm>

1

在我看來,標題algorithm不包括在內。嘗試

#include <algorithm> 

然後一切都應該正常工作。

0

試着在你的程序include <algorithm>

這應該使錯誤消失的頂部包括。