From: <vo...@us...> - 2008-10-21 19:58:07
|
Revision: 914 http://opde.svn.sourceforge.net/opde/?rev=914&view=rev Author: volca Date: 2008-10-21 19:57:58 +0000 (Tue, 21 Oct 2008) Log Message: ----------- Seems to fix visual studio problems with Array template (damned VC++) Modified Paths: -------------- trunk/src/base/Array.h Modified: trunk/src/base/Array.h =================================================================== --- trunk/src/base/Array.h 2008-10-21 17:59:39 UTC (rev 913) +++ trunk/src/base/Array.h 2008-10-21 19:57:58 UTC (rev 914) @@ -144,15 +144,18 @@ if (newSize == oldSize) return; - T* newptr = static_cast<T*>(realloc(*ptr, sizeof(T) * newSize)); + T* newptr = (T*)(realloc(*ptr, sizeof(T) * newSize)); if (newptr == NULL) // realloc failed OPDE_ARRAY_EXCEPT("Array: Growth failed"); *ptr = newptr; + + // the damn VC++ does not initialize the contents for primitive types it seems + memset((*ptr) + oldSize, 0, sizeof(T) * (newSize - oldSize)); //placement new on the new part of array - ::new(&((*ptr)[oldSize])) T[newSize-oldSize]; + ::new((*ptr) + oldSize) T[newSize - oldSize]; } int mMinIndex; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |