Code Added:
bool CHARACTER::SpamAllowBuf(const char *Message)
{
if (!strcmp(Message, "(?˛´c)") || !strcmp(Message, "(μ·)") || !strcmp(Message, "(±a≫Y)") || !strcmp(Message, "(AA??)") || !strcmp(Message, "(≫c¶?)") || !strcmp(Message, "(?đłe)") || !strcmp(Message, "(??C?)") || !strcmp(Message, "(????)") || !strcmp(Message, "(AE??)"))
{
return true;
}
return false;
}
Warnings Gives :
char.cpp:7254:121: warning: trigraph ??) ignored, use -trigraphs to enable
char.cpp:7254:245: warning: trigraph ??) ignored, use -trigraphs to enable
char.cpp:7254:275: warning: trigraph ??) ignored, use -trigraphs to enable
How can i do to skip this warnings?
A trigraph sequence is any sequence of characters that starts with "??"
; the next character determines the meaning of the sequence. Trigraph sequences are (or were) used to represent characters that weren't provided on some keyboards. So, for example, "??="
means #
.
Trigraph sequences aren't widely used any more; I haven't checked, but they may well have been deprecated in C++ or removed entirely. (Thanks to @johnathan for pointing out that they were removed in C++17)
In any event, if you can't turn off that warning, you can change the character sequence so that it looks the same to the compiler but isn't a trigraph. To do that, change one of the ?
characters to \?
. So "??="
would become "?\?="
; that's not a trigraph, because it doesn't consist of the characters "??"
followed by another character, but once the compiler has processed it, it's two question marks followed by an '='
sign.
Another way to rearrange the quoted strings is to separate them. So "??="
would become "??" "="
or "?" "?="
; the compiler concatenates those adjacent string literals, but, again, they're not trigraphs sequences because the concatenation occurs after checking for trigraphs.