|
From: | Antonio Diaz Diaz |
Subject: | Re: [Bug-ddrescue] [PATCH 3/5] io: Add missing prototype |
Date: | Mon, 05 Aug 2019 20:08:53 +0200 |
User-agent: | Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14 |
Rosen Penev wrote:
+extern "C" void sighandler( int signum ); extern "C" void sighandler( int signum ) { if( signum_ == 0&& signum> 0 ) signum_ = signum; }There is nothing missing here. A function definition is a function declaration in which the body of the function is presented. Therefore there is no need to declare the function twice.My understanding here is that this function needs to be static or declared separately. static cannot be used with extern so I went for the other option.
Why does it need to be static or declared separately? I can see nothing in the C++ standard requiring that. AFAICT, all that is required is that the function is declared before being used, and a definition is also a declaration.
[Prev in Thread] | Current Thread | [Next in Thread] |