voronindim / OOP

1 stars 0 forks source link

Замечания по Mini-Dictionary #4

Open alexey-malov opened 4 years ago

alexey-malov commented 4 years ago
2>C:\teaching\oop-labs\voronin\OOP\lab_2\dictionary\vocabulary.cpp(50,2): error C3861: 'transform': identifier not found
2>C:\teaching\oop-labs\voronin\OOP\lab_2\dictionary\vocabulary.cpp(81,2): error C3861: 'transform': identifier not found
alexey-malov commented 4 years ago
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include\algorithm(1310,24): warning C4244: '=': conversion from 'wint_t' to 'char', possible loss of data
1>C:\teaching\oop-labs\voronin\OOP\lab_2\dictionary\vocabulary.cpp(50): message : see reference to function template instantiation '_OutIt std::transform<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,wint_t(__cdecl *)(wint_t)>(const _InIt,const _InIt,_OutIt,_Fn)' being compiled
1>        with
1>        [
1>            _OutIt=std::_String_iterator<std::_String_val<std::_Simple_types<char>>>,
1>            _Elem=char,
1>            _InIt=std::_String_iterator<std::_String_val<std::_Simple_types<char>>>,
1>            _Fn=wint_t (__cdecl *)(wint_t)
alexey-malov commented 4 years ago
alexey-malov commented 4 years ago
voronindim commented 4 years ago
  • [ ] Нет тестов

https://github.com/voronindim/OOP/blob/master/lab_2/Tests-Dictionary/tests.cpp

voronindim commented 4 years ago
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include\algorithm(1310,24): warning C4244: '=': conversion from 'wint_t' to 'char', possible loss of data
1>C:\teaching\oop-labs\voronin\OOP\lab_2\dictionary\vocabulary.cpp(50): message : see reference to function template instantiation '_OutIt std::transform<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,wint_t(__cdecl *)(wint_t)>(const _InIt,const _InIt,_OutIt,_Fn)' being compiled
1>        with
1>        [
1>            _OutIt=std::_String_iterator<std::_String_val<std::_Simple_types<char>>>,
1>            _Elem=char,
1>            _InIt=std::_String_iterator<std::_String_val<std::_Simple_types<char>>>,
1>            _Fn=wint_t (__cdecl *)(wint_t)
  • [ ] Программа должна компилироваться без предупреждений компилятора во всех конфигурациях и платформах.

Как можно проверить, что программа на разных платформах запускается без ошибок и предупреждений, просто у меня на Mackbook не выскакивают предупреждения.

alexey-malov commented 4 years ago

В настройках попробуйте повышенный уровень warning-ов включить -Wall Здесь проблема связана с тем, что tolower возвращает int, а вы результат в char пытаетесь записать но в общем случае у каждого компилятора свой набор предупреждений.

voronindim commented 4 years ago
2>C:\teaching\oop-labs\voronin\OOP\lab_2\dictionary\vocabulary.cpp(50,2): error C3861: 'transform': identifier not found
2>C:\teaching\oop-labs\voronin\OOP\lab_2\dictionary\vocabulary.cpp(81,2): error C3861: 'transform': identifier not found
  • [ ] Следует подключать используемые вами файлы стандартной библиотеки

А получается, что у меня встроенная библиотека эта, так как он запустил и ничего не сказал, просто если не указать, другую библиотеку, он даже не запустит

alexey-malov commented 4 years ago
alexey-malov commented 4 years ago

А получается, что у меня встроенная библиотека эта, так как он запустил и ничего не сказал, просто если не указать, другую библиотеку, он даже не запустит

Мне интересно, каким образом компилятор подключил содержимое заголовочных файлов, которые вы не подключали явно? Пока у меня есть одна мысль: одни хидеры включают в вашей стандартной библиотеке другие. Что за компилер то,

voronindim commented 4 years ago

А получается, что у меня встроенная библиотека эта, так как он запустил и ничего не сказал, просто если не указать, другую библиотеку, он даже не запустит

Мне интересно, каким образом компилятор подключил содержимое заголовочных файлов, которые вы не подключали явно? Пока у меня есть одна мысль: одни хидеры включают в вашей стандартной библиотеке другие. Что за компилер то,

Apple LLVM version 10.0.1 (clang-1001.0.46.4) Target: x86_64-apple-darwin18.7.0 Thread model: posix