Strange problem with structure
Zarathustra
adam.chrapkowski at gmail.com
Mon Jul 21 08:37:23 PDT 2008
Koroskin Denis Wrote:
> On Mon, 21 Jul 2008 18:30:13 +0400, Zarathustra
> <adam.chrapkowski at gmail.com> wrote:
>
> > I have got following part of code:
> > [code_code_code_code_code_code_code]
> > module basis;
> > import std.stdio;
> > import std.math;
> > import std.string;
> > import std.process;
> >
> > struct SCoordinate{
> > int max;
> > int min;
> > }
> >
> > [code_code_code_code_code_code_code]
> > and following errors:
> > OPTLINK (R) for Win32 Release 8.00.1
> > Copyright (C) Digital Mars 1989-2004 All rights reserved.
> > source\hiddenLine.obj(hiddenLine)
> > Error 42: Symbol Undefined _D5basis11SCoordinate3maxMFZl
> > source\hiddenLine.obj(hiddenLine)
> > Error 42: Symbol Undefined _D5basis11SCoordinate3minMFZl
> >
> > It looks like linker treats min and max like external symbols, but why?
>
> Looks like compiler is looking for these functions:
> long basis.SCoordinate.min()
> long basis.SCoordinate.max()
>
> but can't find their implementation. What code in module "hiddenLine" uses
> min/max and how?
>
> What version of DMD do you use? Could you post the code that makes this
> happen so that we could reproduce it?
All code in this twice modules have thousands of lines.
Problem call (hiddenLine module) is following:
l_edge2d.boundingRectangle.x.max // getter
x is property of class:
public SCoordinate x(SCoordinate o_x){ return this.m_x = o_x; }
public SCoordinate x(){ return this.m_x; }
More information about the Digitalmars-d-learn
mailing list