Thread overview | |||||||||
---|---|---|---|---|---|---|---|---|---|
|
January 19, 2006 [bug?] | ||||
---|---|---|---|---|
| ||||
What might this mean? "P:\Programs\dm\Libraries\MFC\include\32-bit\afxtempl.h(305) : Error: no match for function '?_P(unsigned ,char *,int )'" Cheers Matthew |
January 19, 2006 Re: [bug?] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew | Matthew wrote: > What might this mean? > > "P:\Programs\dm\Libraries\MFC\include\32-bit\afxtempl.h(305) : Error: no match for function '?_P(unsigned ,char *,int )'" > > Cheers > > Matthew > > My afxtempl.h is too heavily patched to know what line 305 is... I'll email it to you. Jan -- ManiaC++ Jan Knepper But as for me and my household, we shall use Mozilla... www.mozilla.org |
January 19, 2006 Re: [bug?] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew | "Matthew" <matthew@stlsoft.com> wrote in message news:dqmrbe$1sj8$1@digitaldaemon.com... > What might this mean? > > "P:\Programs\dm\Libraries\MFC\include\32-bit\afxtempl.h(305) : Error: no match for function '?_P(unsigned ,char *,int )'" ?_P is array operator new. |
January 19, 2006 Re: [bug?] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jan Knepper | "Jan Knepper" <jan@smartsoft.us> wrote in message news:dqmvc9$1vlu$2@digitaldaemon.com... > Matthew wrote: >> What might this mean? >> >> "P:\Programs\dm\Libraries\MFC\include\32-bit\afxtempl.h(305) : Error: no match for function '?_P(unsigned ,char *,int )'" >> >> Cheers >> >> Matthew > My afxtempl.h is too heavily patched to know what line 305 is... It's the invocation of aray new inside CArray<> |
January 19, 2006 Re: [bug?] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | "Walter Bright" <newshound@digitalmars.com> wrote in message news:dqnhor$2g0l$1@digitaldaemon.com... > > "Matthew" <matthew@stlsoft.com> wrote in message news:dqmrbe$1sj8$1@digitaldaemon.com... >> What might this mean? >> >> "P:\Programs\dm\Libraries\MFC\include\32-bit\afxtempl.h(305) : Error: no match for function '?_P(unsigned ,char *,int )'" > > ?_P is array operator new. Interesting. This is all working with lots of other compilers, but I decided to try and bring DMC++ back into the MFCSTL fold in my unit-tests but this is what crops up. I have no idea why this error should crop up. I suspect that the compiler's mistaken, and there's something else going wrong. |
January 21, 2006 Re: [bug?] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthew | Matthew wrote: > "Jan Knepper" <jan@smartsoft.us> wrote in message news:dqmvc9$1vlu$2@digitaldaemon.com... > >>Matthew wrote: >> >>>What might this mean? >>> >>>"P:\Programs\dm\Libraries\MFC\include\32-bit\afxtempl.h(305) : Error: no match for function '?_P(unsigned ,char *,int )'" >>> >>>Cheers >>> >>>Matthew >> >>My afxtempl.h is too heavily patched to know what line 305 is... > > > It's the invocation of aray new inside CArray<> > > > Well, that still does not tell me a lot.. BTW I tried to email you, bit you address used here kinda bounced... Jan -- ManiaC++ Jan Knepper But as for me and my household, we shall use Mozilla... www.mozilla.org |
January 29, 2006 Re: [bug?] | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jan Knepper | "Jan Knepper" <jan@smartsoft.us> wrote in message news:dqu0uf$1poi$1@digitaldaemon.com... > Matthew wrote: >> "Jan Knepper" <jan@smartsoft.us> wrote in message news:dqmvc9$1vlu$2@digitaldaemon.com... >> >>>Matthew wrote: >>> >>>>What might this mean? >>>> >>>>"P:\Programs\dm\Libraries\MFC\include\32-bit\afxtempl.h(305) : Error: no match for function '?_P(unsigned ,char *,int )'" >>>> >>>>Cheers >>>> >>>>Matthew >>> >>>My afxtempl.h is too heavily patched to know what line 305 is... >> >> >> It's the invocation of aray new inside CArray<> >> >> >> > Well, that still does not tell me a lot.. template<class TYPE, class ARG_TYPE> void CArray<TYPE, ARG_TYPE>::SetSize(int nNewSize, int nGrowBy) { ASSERT_VALID(this); ASSERT(nNewSize >= 0); if (nGrowBy != -1) m_nGrowBy = nGrowBy; // set new size if (nNewSize == 0) { // shrink to nothing if (m_pData != NULL) { DestructElements(m_pData, m_nSize); delete[] (BYTE*)m_pData; m_pData = NULL; } m_nSize = m_nMaxSize = 0; } else if (m_pData == NULL) { // create one with exact size #ifdef SIZE_T_MAX ASSERT(nNewSize <= SIZE_T_MAX/sizeof(TYPE)); // no overflow #endif m_pData = (TYPE*) new BYTE[nNewSize * sizeof(TYPE)]; <<<<<<<<<<<<<<<<<<< HERE <<<<<<<<<<<<<<< ConstructElements(m_pData, nNewSize); m_nSize = m_nMaxSize = nNewSize; } else if (nNewSize <= m_nMaxSize) { // it fits if (nNewSize > m_nSize) { // initialize the new elements ConstructElements(&m_pData[m_nSize], nNewSize-m_nSize); } else if (m_nSize > nNewSize) { // destroy the old elements DestructElements(&m_pData[nNewSize], m_nSize-nNewSize); } m_nSize = nNewSize; } else { // otherwise, grow array int nGrowBy = m_nGrowBy; if (nGrowBy == 0) { // heuristically determine growth when nGrowBy == 0 // (this avoids heap fragmentation in many situations) nGrowBy = m_nSize / 8; nGrowBy = (nGrowBy < 4) ? 4 : ((nGrowBy > 1024) ? 1024 : nGrowBy); } int nNewMax; if (nNewSize < m_nMaxSize + nGrowBy) nNewMax = m_nMaxSize + nGrowBy; // granularity else nNewMax = nNewSize; // no slush ASSERT(nNewMax >= m_nMaxSize); // no wrap around #ifdef SIZE_T_MAX ASSERT(nNewMax <= SIZE_T_MAX/sizeof(TYPE)); // no overflow #endif TYPE* pNewData = (TYPE*) new BYTE[nNewMax * sizeof(TYPE)]; // copy new data from old memcpy(pNewData, m_pData, m_nSize * sizeof(TYPE)); // construct remaining elements ASSERT(nNewSize > m_nSize); ConstructElements(&pNewData[m_nSize], nNewSize-m_nSize); // get rid of old stuff (note: no destructors called) delete[] (BYTE*)m_pData; m_pData = pNewData; m_nSize = nNewSize; m_nMaxSize = nNewMax; } } > BTW I tried to email you, bit you address used here kinda bounced... I've only my main email still going. Too much spam from all the crackpot spammers round the world |
Copyright © 1999-2021 by the D Language Foundation