[OpenIndiana-discuss] Compiling KeepassXC on Hipster
bentahyr at chez.com
bentahyr at chez.com
Mon Dec 3 20:28:07 UTC 2018
Thanks Bob and Alexander, I think I start to understand.
grep digits ../../src/totp/totp.cpp
[...]
quint8 digits = encoder.digits == 0 ? numDigits : encoder.digits;
[...]
From my 30 years old rusty knowledge of C++, this mean that digits is
supposed to be a 'quint8' which is most probably QT version of the 'int'
and as Bob noticed the pow function expects 'int', 'float', or 'double'
From Alexander reference, I should have
quint32 digitsPower = pow(encoder.alphabet.size(), int(digits));
In that particular case it was 'encoder.alphabet.size()' which appeared
ambiguous, using 'double (encoder.alphabet.size())' made it. 'digits'
was ok so far
Bottom line is I could compile and execute it, it is nice to have it
native (works with wine).
Thanks both of you.
Best regards.
Ben
On 04/12/2018 03:21, Bob Friesenhahn wrote:
> On Mon, 3 Dec 2018, bentahyr at chez.com wrote:
>
>> Hello,
>> 'static QString Totp::generateTotp(QByteArray, quint64, quint8,
>> quint8)':
>> /home/ben/tmp/keepassxc-2.3.4/src/totp/totp.cpp:167:62: error: call of
>> overloaded 'pow(int, quint8&)' is ambiguous
>> quint32 digitsPower = pow(encoder.alphabet.size(), digits);
>
> What is the declared storage type of the 'digits' argument? From
> reading the header, it appears that it must be of type 'int', 'float',
> or 'double'. Any other type would require a type transformation which
> might be ambiguous.
>
> Bob
More information about the openindiana-discuss
mailing list