Opened 16 years ago
Closed 16 years ago
#5178 closed defect (fixed)
class scoping directive for constructors is confusing to the compiler
Reported by: | Owned by: | Isaac Richards | |
---|---|---|---|
Priority: | trivial | Milestone: | unknown |
Component: | mythtv | Version: | head |
Severity: | low | Keywords: | |
Cc: | Ticket locked: | no |
Description
Unfortunately using the class as a scoping directive to a constructor is ambiguous in the C++ standard. So using it makes the compiler work harder. For example:
QTime epoch = QTime::QTime(1970, 1, 1);
The 'correct solution is to drop the class part of the call:
QTime epoch(1970, 1, 1);
g++ is smart enough to understand what you mean when you use the scoping directive. But it can waste memory and can have trouble emitting information about the functions these sorts of calls are in. This means that static analysis tools may not be able to analyze the functions that these calls show up in. Which means that if there are defects in these functions they are not known.
I have prepared patches for each directory that these issues show up in and I am attaching them to this ticket.
Attachments (4)
Change History (5)
Changed 16 years ago by
Attachment: | libs_libmyth-ctor-need-no-scoping-operators.patch added |
---|
Changed 16 years ago by
Attachment: | libs_libmythtv-ctor-need-no-scoping-operators.patch added |
---|
class scoping fixes in libs/libmythtv/
Changed 16 years ago by
Attachment: | programs_mythbackend-ctor-need-no-scoping-operators.patch added |
---|
class scoping fixes in programs/mythbackend/
Changed 16 years ago by
Attachment: | programs_mythfrontend-ctor-need-no-scoping-operators.patch added |
---|
class scoping fixes in programs/mythfrontend/
class scoping fixes in libs/libmyth/