Re: Residual HAED C++ problems on MS VisualStudio

From: Robert Collins <robertc@dont-contact.us>
Date: 03 Aug 2003 21:00:15 +1000

On Sun, 2003-08-03 at 20:15, Serassio Guido wrote:
> Hi Robert,

> But there is still an open problem: there are many C2664 errors that I
> can't understand.
>
> ACLIP.cc
> c:\work\nt-3.0\src\aclip.cc(424) : error C2664: 'delete' : cannot convert
> parameter 1 from 'const class acl_ip_data *const ' to 'void *'
> Conversion loses qualifiers

This is operator delete refusing to delete a const pointer - I don't
know the standard well enough to comment if this is 'good behaviour' or
not. We can solve it two ways: remove my deleteSelf hack (there is a
test case that shows it shouldn't be needed - and the standard says it's
not needed). Or we can const_cast the pointers before deleting. I'd like
to get rid of the deleteSelf hack...
 
> auth_digest.cc
> C:\work\nt-3.0\src\auth\digest\auth_digest.cc(800) : error C2664:
> 'httpHeaderPutStrf' : cannot convert parameter 2 from 'enum
> digest_request_h::addHeader::http_hdr_type' to 'http_hdr_type'
> Conversion to enumeration type requires an explicit cast
> (static_cast, C-style cast or function-style cast)

try changing the "enum http_hdr_type type" at the top of the function to
"http_hdr_type type".

> store_dir_ufs.cc
> C:\work\nt-3.0\src\fs\ufs\store_dir_ufs.cc(1018) : error C2664:
> 'file_write' : cannot convert parameter 7 from 'void (void *)' to 'void
> (__cdecl *)(void *)'
> None of the functions with this name in scope match the target type

try adding an explicit cast to (__cdecl *)(void *) on the NULL.

Cheers,
Rob

-- 
GPG key available at: <http://members.aardvark.net.au/lifeless/keys.txt>.

Received on Sun Aug 03 2003 - 04:59:58 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:26 MST