[Bug libstdc++/41061] New: Compile of program using std random fails.

3dw4rd at verizon dot net gcc-bugzilla@gcc.gnu.org
Thu Aug 13 20:25:00 GMT 2009


I compiled my <random> busybox just to see if it works and got a bunch of
compile errors related to members being private.  All these member were being
used in the operator>> and operator<< for the distributions and all were
complaining about inserting or extracting state from another distribution
contained as private state in that distribution

e.g. in std::lognormal_distribution<...>:
------------------------------------------
...
private:
  std::normal_distribution<result_type> _M_nd;

The global operator>> and operator<< failed with _M_nd is private.

The answer is to scoot these inserters and extrctors into the class scope as
friends.

Ed


-- 
           Summary: Compile of program using std random fails.
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: 3dw4rd at verizon dot net
  GCC host triplet: x86_64-redhat-linux


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41061



More information about the Gcc-bugs mailing list