在 2018/5/22 17:46, Jacek Caban 写道:
+#ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
     STDMETHOD_(D2D1_SIZE_F, GetSize)(void) const PURE;
+#else
+    virtual D2D1_SIZE_F* STDMETHODCALLTYPE GetSize(D2D1_SIZE_F*) = 0;
+    D2D1_SIZE_F STDMETHODCALLTYPE GetSize() {

You missed the `const` qualifier, which applies to both declarations in the `#else` clause.

+#ifndef WIDL_EXPLICIT_AGGREGATE_RETURNS
     STDMETHOD_(D2D1_POINT_2F, GetCenter)(void) const PURE;
+#else
+    virtual D2D1_POINT_2F* STDMETHODCALLTYPE GetCenter(
+        D2D1_POINT_2F *__ret) = 0;
+    D2D1_POINT_2F STDMETHODCALLTYPE GetCenter(
+        )

There should be no line breaks in these declarations.

BTW, what is the benefit of replacing `PURE` with `= 0` ? The only difference I know at the moment is that the former is a macro that expands to nothing hence can be used in a C source file, while the latter is of course a C++ thing.

--
Best regards,
LH_Mouse


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to