Upozornění kompilátoru (úroveň 1) C4067
neočekávané tokeny následující direktivy preprocesoru – očekává se nový řádek
Poznámky
Kompilátor našel a ignoroval nadbytečné znaky za direktivou preprocesoru. Příčinou můžou být jakékoli neočekávané znaky, ale běžnou příčinou je po direktivě strašidelní středník. Komentáře nezpůsobí toto upozornění. Možnost /Za kompilátoru umožňuje toto upozornění pro více direktiv preprocesoru než výchozí nastavení.
Příklad
// C4067a.cpp
// compile with: cl /EHsc /DX /W1 /Za C4067a.cpp
#include <iostream>
#include <string> s // C4067
#if defined(X); // C4067
std::string s{"X is defined"};
#else
std::string s{"X is not defined"};
#endif; // C4067 only under /Za
int main()
{
std::cout << s << std::endl;
}
Pokud chcete toto upozornění vyřešit, odstraňte strašidné znaky nebo je přesuňte do bloku komentáře. Některá upozornění C4067 mohou být zakázána odebráním možnosti /Za kompilátoru.
// C4067b.cpp
// compile with: cl /EHsc /DX /W1 C4067b.cpp
#include <iostream>
#include <string>
#if defined(X)
std::string s{"X is defined"};
#else
std::string s{"X is not defined"};
#endif
int main()
{
std::cout << s << std::endl;
}