2014-11-22 35 views
0

我一直在玩弄我的代碼,試圖改善它,我堅持這一部分。比較stl列表中的值填充類

我有以下標題

Funcionario.h

class Funcionario 
{ 
private: 
std::string Userid; 
std::string Nome; 
std::string Sobrenome; 
std::string Email; 
std::string Pass; 

public: 
Funcionario(std::string Userid, std::string Nome, std::string Sobrenome, std::string Email, std::string Pass); 
~Funcionario(void); 

string GetUserID() { return Userid; } 
string GetName() { return Nome; } 
string GetSName() { return Sobrenome; } 
string GetEmail() {return Email; } 
string GetPass() { return Pass; } 
}; 

這是我的形式,請注意,這不是整個表格,只是重要的一部分;

#include <list> 
#include <algorithm> 
#include "Funcionario.h" 



Form1(void) 
{ 
InitializeComponent(); 
// 
//TODO: Add the constructor code here 
// 
LF = new list<Funcionario>(); 
} 

//Button click  
list<Funcionario>::iterator it1 = find(LF->begin(), LF->end(), ID); //*Searches for ID 

當我嘗試運行這一點,說有沒有合適的轉換器TIPE Funcionario。 任何幫助都會被推崇,並非常感謝您提前。

回答

0
list<Funcionario>::iterator it1 = find_if(LF->begin(), LF->end(), 
    [&ID](const Funcionario& f) { return f.GetUserId() == ID; }); 
+0

非常感謝您回覆伊戈爾,但它在[&ID]中給出了一個小錯誤。錯誤:「本地lambda不允許在託管類的成員函數中」任何想法是什麼? – 2014-11-22 19:23:40

+0

這意味着你不使用C++,而是一種不同的遠程相關語言,稱爲C++/CLI。除了它存在的事實之外,我並不熟悉它。 – 2014-11-22 19:32:48