D1: Error: duplicate union initialization for size

jicman via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Aug 24 14:54:56 PDT 2014


On Sunday, 24 August 2014 at 10:52:38 UTC, bearophile wrote:
> jicman:
>
>> This is line 7634:
>>
>> const Size DEFAULT_SCALE = { 5, 13 };
>>
>> What does the error say and how can I fix it?  Thanks.
>
> Can you show the (reduced) definition of Size and 
> DEFAULT_SCALE? Even better to show a minimized self-contained 
> program that has the problem.

The compiler 1.076 is calling the DFL Control file. These are all 
the lines where DEFAULT_SCALE) is found:

		return calcScale(area, toScale, DEFAULT_SCALE);
	const Size DEFAULT_SCALE = { 5, 13 };
	Size autossz = DEFAULT_SCALE;

Tehse are all the lines where Size is found in all the dfl 
library files:

			clientSize = Size(340, 150);
	final Size size() // getter
		Size result;
	Size defaultSize() // getter
		return Size(75, 23);
	override Size defaultSize() // getter
		return Size(120, 23); // ?
	final Size clientSize() // getter
	final void clientSize(Size sz) // setter
		//wclientsz = Size(width, height);
	final void size(Size sz) // setter
	final Size size() // getter
		return wrect.size; // struct Size, not sizeof.
	final Size getAutoScaleSize(Font f)
		Size result;
	final Size getAutoScaleSize()
	package final Size _fetchClientSize()
		return Size(r.right, r.bottom);
	Size defaultSize() // getter
		return Size(0, 0);
	Size wclientsz;
	deprecated final void autoScrollMargin(Size sz) // setter
	deprecated final Size autoScrollMargin() // getter
		return Size(0, 0);
	deprecated final void autoScrollMinSize(Size sz) // setter
	deprecated final Size autoScrollMinSize() // getter
		return Size(0, 0);
	final Size autoScaleBaseSize() // getter
	final void autoScaleBaseSize(Size newSize) // setter
	static Size calcScale(Size area, Size toScale, Size fromScale) 
// package
	Size calcScale(Size area, Size toScale) // package
	final void _scale(Size toScale) // package
		void xscale(Control c, Size fromScale)
				Size sz;
				sz = calcScale(Size(c.left, c.top), toScale, fromScale);
	final void scrollSize(Size sz) // setter
	final Size scrollSize() // getter
	const Size DEFAULT_SCALE = { 5, 13 };
	//Size scrollmargin, scrollmin;
	Size autossz = DEFAULT_SCALE;
	Size scrollsz = { 0, 0 };
	Point opAdd(Size sz)
	Point opSub(Size sz)
	void opAddAssign(Size sz)
	void opSubAssign(Size sz)
struct Size // docmain
	/// Construct a new Size.
	static Size opCall(int width, int height)
		Size sz;
	static Size opCall()
		Size sz;
	Dequ opEquals(Size sz)
	Size opAdd(Size sz)
		Size result;
	Size opSub(Size sz)
		Size result;
	void opAddAssign(Size sz)
	void opSubAssign(Size sz)
	Size size() //getter
		return Size(width, height);
	void size(Size sz) // setter
	static Rect opCall(Point location, Size size)
	void inflate(Size insz)
	Size size(); // getter
	final override Size size() // getter
		return Size(bm.bmWidth, bm.bmHeight);
		Size sz;
		Size sz;
	final override Size size() // getter
		Size result;
	final Size getSize(HDC hdc) // package
		return Size(getWidth(hdc), getHeight(hdc));
	final Size getSize(Graphics g)
		return Size(getWidth(g), getHeight(g));
			Size sz;
	final Size measureText(Dstring text, Font font)
		return Size(sz.cx, sz.cy);
	final Size measureText(Dstring text, Font font, int maxWidth, 
TextFormat fmt)
		return Size(rect.right - rect.left, rect.bottom - rect.top);
	final Size measureText(Dstring text, Font font, TextFormat fmt)
	final Size measureText(Dstring text, Font font, int maxWidth)
	final Size measureText(Dstring text, Font font)
	final Size getScaleSize(Font f)
		Size result;
	final Size size() // getter
		return Size(_w, _h);
	final override Size size() // getter
		return Size(bm.bmWidth, bm.bmHeight);
	protected override Size defaultSize() // getter
		return Size(300, 300);
		//Size csz;
	final void minimumSize(Size min) // setter
		Size changesz;
	final Size minimumSize() // getter
	final void maximumSize(Size max) // setter
		Size changesz;
	final Size maximumSize() // getter
	Size autoscaleBase;
	Size minsz, maxsz; // {0, 0} means none.
		wclientsz = Size(wrect.width - ((r.right - r.left) - 
wrect.width), wrect.height - ((r.bottom - r.top) - wrect.height));
	override Size defaultSize() // getter
		return Size(200, 100);
								Size tsz = g.measureText(txt, f, tfmt);
				override Size size() // getter
		final void imageSize(Size sz) // setter
		final Size imageSize() // getter
			return Size(_w, _h);
	Size preferredSize() // getter
		Size result;
	protected override Size defaultSize() // getter
		return Size(100, 23);
			Size sz;
			Size sz;
	protected override Size defaultSize() // getter
		return Size(120, 95);
	protected override Size defaultSize() // getter
		return Size(120, 95);
				clientSize = Size(0, 0);
					clientSize = Size(0, 0);
						Size isz;
	protected override Size defaultSize() // getter
		return Size(100, 23);
	override Size defaultSize() // getter
		return Size(120, 120); // ?
	override Size defaultSize() // getter
		//return Size(GetSystemMetrics(SM_CXSIZEFRAME), 
GetSystemMetrics(SM_CYSIZEFRAME));
		return Size(sx, sy);
	protected override Size defaultSize() // getter
		return Size(200, 200); // ?
	override Size defaultSize() // getter
		return Size(120, 23); // ?
	final Size imageSize() // getter
		return Size(16, 16); // ?
	protected override Size defaultSize() // getter
		return Size(100, 16);
	protected override Size defaultSize() // getter
		return Size(120, 100);
		USHORT cb; // Size including cb.

I just don't know what the error means to be able to figure out 
what the problem is.  Thanks for the help.

josé


More information about the Digitalmars-d-learn mailing list