Opened 18 years ago
Closed 18 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)
by , 18 years ago
| Attachment: | libs_libmyth-ctor-need-no-scoping-operators.patch added |
|---|
by , 18 years ago
| Attachment: | libs_libmythtv-ctor-need-no-scoping-operators.patch added |
|---|
class scoping fixes in libs/libmythtv/
by , 18 years ago
| Attachment: | programs_mythbackend-ctor-need-no-scoping-operators.patch added |
|---|
class scoping fixes in programs/mythbackend/
by , 18 years ago
| Attachment: | programs_mythfrontend-ctor-need-no-scoping-operators.patch added |
|---|
class scoping fixes in programs/mythfrontend/

class scoping fixes in libs/libmyth/