[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] 'warning: unused parameter'
From: |
Stephen Leake |
Subject: |
Re: [Monotone-devel] 'warning: unused parameter' |
Date: |
Wed, 30 Apr 2014 04:05:01 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (windows-nt) |
Stephen Leake <address@hidden> writes:
> Stephen Leake <address@hidden> writes:
>
>> The code that generates this is in simplestring_xform.hh:
>>
>> template<> inline
>> origin::type get_made_from<std::string>(std::string const & thing)
>> {
>> return origin::internal;
>> }
>>
>> Is there a way to mark 'thing' as unused? or do we have to disable that
>> warning with -Wno-unused-parameter?
>
> I found three answers on stack overflow:
>
> 1) comment out or delete the parameter name:
>
> a) origin::type get_made_from<std::string>(std::string const & /* thing
> */)
>
> b) origin::type get_made_from<std::string>(std::string const & )
>
> 2) cast it to void:
>
> (void)thing;
>
> I prefer 1a; it most clearly documents that we know there is a parameter
> by that name, but we are not using it in this case. Any objections?
However, that is not appropriate in this case (command.hh):
#define CMD_NO_WORKSPACE(C, name, aliases, parent, params, abstract, \
desc, opts) \
namespace commands { \
class cmd_ ## C : public command \
{ \
public: \
cmd_ ## C() : command(name, aliases, parent, false, false, \
params, abstract, desc, false, \
options::options_type() | opts, true) \
{} \
virtual void exec(app_state & app, \
command_id const & execid, \
args_vector const & args) const; \
}; \
cmd_ ## C C ## _cmd; \
} \
void commands::cmd_ ## C::exec(app_state & app, \
command_id const & execid, \
args_vector const & args) const
In most uses of CMD_NO_WORKSPACE, "execid" is not used, but it is used
in some (cmd_netsync.cc clone).
So we have to use (void)exec_id in the body of each case where it is not
used.
--
-- Stephe