-3

コンパイラは、クラスのメソッドが見つからないことを示しました。エラーメッセージ全体が関数が見つかりませんでした

common::base::CategoryIdCache::addNewCid(std::string, common::base::eSqlCatalog&, std::vector, std::allocator >, std::allocator, std::allocator > > >&, std ::vector, std::アロケータ >, std::アロケータ, std::アロケータ > > >&)

候補は

common::base::CategoryIdCache::addNewCid(std::string&, common::base::eSqlCatalog&, std::vector, std::allocator >, std::allocator, std::allocator > > >&, std ::vector, std::アロケータ >, std::アロケータ, std::アロケータ > > >&)

4

2 に答える 2

3

これが発生する理由はいくつかあります。

  • 別の署名で関数を実装しています
  • または、一時を非定数参照にバインドしようとします

そう

struct X
{
    void foo(std::string& x);
};

//implementation
void X::foo(std::string x); //wrong - different signature

また

struct X
{
    void foo(std::string& x);
};

//
int main()
{
    X x;
    x.foo("some string");
}
于 2013-06-19T09:20:30.513 に答える