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.