グローバルCAtlList
を更新する関数foo()
があります。今度は別のリストを更新するためにfoo
を再利用したいと思います。現在、私はデフォルトの引数を使用してこれを実現しています。デフォルトの関数引数の静的変数の公開を避ける
//header.h
extern CAtlList<data> globalList;
void foo(CAtlList<data> &somelist = globalList);
//file1.cpp
CAtlList<data> globalList;
void foo(CAtlList<data> &somelist)
{
//update somelist
}
//file2.cpp
#include "header.h"
foo();
and
CAtlList<data> anotherList;
foo(anotherList);
//use anotherList
が、デフォルトのシナリオfoo
ためにglobalList
が宣言の時点で表示されなければならないことを意味しており、参照によりglobalList
をとります。私は公開する必要があったために、globalList
のextern宣言を追加して追加する必要がありました。
私はむしろそれを公開したくはありませんが、それは可能ですか?
fooをより一般的なものにしたいのですか? – StoryTeller
@StoryTellerはい私はそれが一般的であることを望みます。 – user3819404
@miraduloこれに代わる方法は何ですか? – user3819404