QString("0x%1").arg ambiguous ?
-
wrote on 17 Feb 2022, 12:51 last edited by
I have:
strData += QString("0x%1").arg((char)arybytData[i], 0, 16);
What is ambiguous about this ?
I'm getting:call of overloaded 'arg(char, int, int)' is ambiguous, I thought I had solved the ambiguity by specifing the types?
-
@SPlatten said in QString("0x%1").arg ambiguous ?:
strData += QString("0x%1").arg((char)arybytData[i], 0, 16);
What is ambiguous about this ?
to solve the ambiguity, you have to double cast:
strData += QString("0x%1").arg(int(char(arybytData[i])), 0, 16);
@KroMignon said in QString("0x%1").arg ambiguous ?:
strData += QString("0x%1").arg(int(char(arybytData[i])), 0, 16);
😱
I think I'm getting a little bit sick....QStringLiteral("0x%1").arg(QString::number(arybytData[0], 16));
-
I have:
strData += QString("0x%1").arg((char)arybytData[i], 0, 16);
What is ambiguous about this ?
I'm getting:call of overloaded 'arg(char, int, int)' is ambiguous, I thought I had solved the ambiguity by specifing the types?
@SPlatten There is no arg(char, int, int).
There is arg(char a, int fieldWidth = 0, QChar fillChar = QLatin1Char(' ')) const -
I have:
strData += QString("0x%1").arg((char)arybytData[i], 0, 16);
What is ambiguous about this ?
I'm getting:call of overloaded 'arg(char, int, int)' is ambiguous, I thought I had solved the ambiguity by specifing the types?
wrote on 17 Feb 2022, 12:58 last edited by@SPlatten said in QString("0x%1").arg ambiguous ?:
strData += QString("0x%1").arg((char)arybytData[i], 0, 16);
What is ambiguous about this ?
to solve the ambiguity, you have to double cast:
strData += QString("0x%1").arg(int(char(arybytData[i])), 0, 16);
-
@SPlatten said in QString("0x%1").arg ambiguous ?:
strData += QString("0x%1").arg((char)arybytData[i], 0, 16);
What is ambiguous about this ?
to solve the ambiguity, you have to double cast:
strData += QString("0x%1").arg(int(char(arybytData[i])), 0, 16);
@KroMignon said in QString("0x%1").arg ambiguous ?:
strData += QString("0x%1").arg(int(char(arybytData[i])), 0, 16);
😱
I think I'm getting a little bit sick....QStringLiteral("0x%1").arg(QString::number(arybytData[0], 16));
-
@SPlatten said in QString("0x%1").arg ambiguous ?:
strData += QString("0x%1").arg((char)arybytData[i], 0, 16);
What is ambiguous about this ?
to solve the ambiguity, you have to double cast:
strData += QString("0x%1").arg(int(char(arybytData[i])), 0, 16);
wrote on 17 Feb 2022, 15:45 last edited by mpergand@KroMignon said in [QString("0x%1").arg ambiguous ?]
to solve the ambiguity, you have to double cast:
strData += QString("0x%1").arg(int(char(arybytData[i])), 0, 16);
I agree, but I would convert to uchar instead:
char c=128; // signed char ! QString s1=QString("%1").arg(int(c),0,16); // ffffffffffffff80" QString s2=QString("%1").arg(int(uchar(c)),0,16); // 80 or simply QString s1=QString("%1").arg(uint8_t(c),0,16);
2/5