Should be
[tt]CArray <CProducten, CProducten&> array;
array.SetSize(100);[/tt]
if you say array[100], that means you want one hundred arrays. Remember a CArray is different from the basic array type.
Rather, use SetSize to initialize the size of the collection (not absolutely necessary, but faster to allocate a whole bunch of memory at once.)
Also note that I change the second template argument to [tt]CProducten&[/tt]. This is to keep the entire CProducten object from having to be pushed onto the stack in function calls... instead only a reference is returned.
Will