Path: utzoo!attcan!uunet!mcsun!ukc!warwick!nott-cs!gas From: gas@cs.nott.ac.uk (Alan Shepherd) Newsgroups: comp.lang.c++ Subject: extern "C" Message-ID: <1990Oct5.090712.7318@cs.nott.ac.uk> Date: 5 Oct 90 09:07:12 GMT Reply-To: gas@cs.nott.ac.uk (Alan Shepherd) Organization: Nottingham University Lines: 14 Can someone explain the rational behind the fact that extern "C" foo(); doesn't do what you'd expect (i.e. declare a function foo which has c linkage and as in pre-ANSI C, any number of arguments) but declares a C function with no arguments so that a call to foo("hello") for example results in an unexpected argument error ? If the ansi option is specified to C++, this makes more sense, but it behaves exactly the same without the ansi option. This makes it impossible to use old-style C header files without editting them which I thought the introduction of extern "C" was supposed to facilitate. Alan Shepherd