Podczas kompilacji dostaję warninga o niezgodności typów: warning: pointer/integer type mismatch in conditional expression
Problem dotyczy operatora trójargumentowego, których operandy są różnego typu w moim przypadku odpowiednio:
const char*?int:char
np:
const char* tmp = NULL;
char buffer[32] = {0};
const char* defaultValue = "anydir/";
...
tmp == NULL?sprintf("buffer, "%s/%s", "path", defaultValue):strcpy(buffer, tmp);
Z uwagi na to, że to tylko "warning" program się kompiluje, ale czy jestem skazany na tego warninga, czy istnieje jakiś trick omijający ten problem w kontekście takiego zastosowania operatora trójargumentowego ?