1. C++ / Говнокод #27758

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    #include <string>
    #include <iostream>
     
    int foo() {
    	std::string str = "file://*";
    	std::cout << str << std::endl;
    	return 0;
    }
     
    /*
    int bar() {
    	std::string str = "file://*";       // warning: '/*' within block comment [-Wcomment]
    	std::cout << str << std::endl;
    	return 0;
    }
    */
     
    int main() {
    	foo();
    	//bar();
    }

    Какой багор

    https://ideone.com/NiXH2q

    Запостил: 3_dar, 19 Октября 2021

    Комментарии (12) RSS

    • Анскильный
      Ответить
    • Варнинг вообще нужный. Если внутри блокового коммента есть /*, зачастую это вложенный коммент, что приводит к неприятным последствиям. Чтобы определить, что это не начало коммента, а кусок строки, коммент нужно распарсить, но комменты не всегда синтаксически осмысленны. Можно попробовать просто искать границы кусков в кавычках, но это особо не нужно — один варнинг можно и заглушить.

      Нечего код закоммменчивать. Просто удали его.
      Ответить
      • > просто удали его

        А вдруг он ещё пригодится?
        Ответить
      • > Варнинг вообще нужный. Если внутри блокового коммента есть /*, зачастую это вложенный коммент, что приводит к неприятным последствиям. Чтобы определить, что это не начало коммента, а кусок строки, коммент нужно распарсить,

        В куске строки еще может быть "*/", что будет распознано как конец комментария. Так что код со всякими говностроками с некоторой хуйней лучше всего закомменчивать в
        #if 0
        ...
        #endif
        Ответить
    • Именно поэтому я за
      #if 0
      ...
      #endif
      Ответить
    • лексер соснул
      Ответить
    • показать все, что скрытоПредставьте, какой багор был бы, если бы в закомментированном коде было "*/*".
      Ответить
    • пользуйтесь TypeScript Native Compiler ... он такой хуйни не покажет.... вот ссылочка https://github.com/ASDAlexander77/TypeScriptCompiler
      Ответить

    Добавить комментарий