Hi, the patch is on https://github.com/jrheinlaender/ginac/commit/d87445c0eaa27669f82bea19bb6993... Am 04.05.2018 um 23:38 schrieb Richard B. Kreckel:
On 05/02/2018 08:22 PM, Jan Rheinländer wrote:
here's what the compiler says (sorry my system is German):
factor.cpp(2254): error C2440: "Initialisierung": "std::size_t" kann nicht in "GiNaC::numeric" konvertiert werden factor.cpp(2254): note: Quelltyp konnte von keinem Konstruktor angenommen werden, oder die Überladungsauflösung des Konstruktors ist mehrdeutig
The code in line 2254 is:
numeric modulus = (vnlst.nops() > 3) ? vnlst.nops() : 3;
It initializes a numeric from the return value of nops(), which is size_t. So on Windos, where unsigned int is the same as unsigned long, the two existing overloads of numeric ctor are ambiguous. Bummer.
It's better to convert these prototypes to uint32_t, uint64_t from <cstdint> than add more overloads for size_t. This way, we need to maintain two overloads, rather than three.
-richy. _______________________________________________ GiNaC-devel mailing list GiNaC-devel@ginac.de https://www.cebix.net/mailman/listinfo/ginac-devel