Summary: | compile error ksim gcc-3.4.0 | ||
---|---|---|---|
Product: | ksim | Reporter: | Thomas Trepl <ttrepl> |
Component: | general | Assignee: | Robbie Ward <linuxphreak> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Thomas Trepl
2004-04-22 18:26:46 UTC
The gcc 3.4.0 changelog says: "GCC 3.4 has many improvements in the C++ frontend. Before reporting a bug, please make sure it's really GCC, and not your code, that is broken." and further on: "G++ is now much closer to full conformance to the ISO/ANSI C++ standard. This means, among other things, that a lot of invalid constructs which used to be accepted in previous versions will now be rejected. It is very likely that existing C++ code will need to be fixed. This document lists some of the most common issues." It seems that this error relates to "When binding an rvalue of class type to a reference, the copy constructor of the class must be accessible. For instance, consider the following code [...] This might be surprising at first sight, especially since most popular compilers do not correctly implement this rule" cf. http://gcc.gnu.org/gcc-3.4/changes.html The copy constructors used in this case are explicitly private, see kdesktopfile.h lines 238 to 242 quick-fix: 1.) change line 238 in kdesktopfile.h from private: to public: 2.) move line 370 Theme(const KSim::Theme &) in ksim/library/themeloader.h up three lines, such that it occurs before the private: *** Bug has been marked as fixed ***. |