私は C++ が初めてで、キャッシュ シミュレーターを作成しようとしています。クラス CACHE のコンストラクタは
CACHE (int, int, int, int, CACHE *); //declare
で、main()
いくつかの変数に従ってオブジェクトを作成しようとしています:
int main()
{
if ( L2_size == 0 ) //only one level of cache
{
CACHE L1(L1_size, blocksize, L1_assoc, inclusion, 0);
}
else //2 level of caches
{
CACHE L2(L2_size, blocksize, L2_assoc, inclusion, 0);
CACHE L1(L1_size, blocksize, L1_assoc, inclusion, &L2);
}
}
これに関する問題は、スコープが if...else 内にあるため、L1 と L2 にアクセスできないことです。
その上、私は?: これを実装する演算子ですが、エラーが発生します:
三項演算子に一致しません。
これを行う方法はありますか?ありがとう!