use global operator new to fix compilation errors if type T overloads new (as wxObject does with wxUSE_MEMORY_TRACING)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -66,7 +66,7 @@ struct wxVectorMemOpsGeneric
|
|||||||
T *mem = (T*)::operator new(newCapacity * sizeof(T));
|
T *mem = (T*)::operator new(newCapacity * sizeof(T));
|
||||||
for ( size_t i = 0; i < occupiedSize; i++ )
|
for ( size_t i = 0; i < occupiedSize; i++ )
|
||||||
{
|
{
|
||||||
new(mem + i) T(old[i]);
|
::new(mem + i) T(old[i]);
|
||||||
old[i].~T();
|
old[i].~T();
|
||||||
}
|
}
|
||||||
::operator delete(old);
|
::operator delete(old);
|
||||||
@@ -242,7 +242,7 @@ public:
|
|||||||
// use placement new to initialize new object in preallocated place in
|
// use placement new to initialize new object in preallocated place in
|
||||||
// m_values and store 'v' in it:
|
// m_values and store 'v' in it:
|
||||||
void* const place = m_values + m_size;
|
void* const place = m_values + m_size;
|
||||||
new(place) value_type(v);
|
::new(place) value_type(v);
|
||||||
|
|
||||||
// only increase m_size if the ctor didn't throw an exception; notice
|
// only increase m_size if the ctor didn't throw an exception; notice
|
||||||
// that if it _did_ throw, everything is OK, because we only increased
|
// that if it _did_ throw, everything is OK, because we only increased
|
||||||
|
Reference in New Issue
Block a user