The first line compiles ok. The second also produces working EXE, but in
addition I get this large error:
In file included from d:\boost/boost/regex/v4/regex_traits.hpp:35:0,
from d:\boost/boost/regex/regex_traits.hpp:27,
from d:\boost/boost/regex/v4/regex.hpp:39,
from d:\boost/boost/regex.hpp:31,
from test.cpp:4:
d:\boost/boost/regex/v4/regex_traits_defaults.hpp: In instantiation of
'const charT* boost::re_detail::get_escape_R_string() [with charT =
wchar_t]':
d:\boost/boost/regex/v4/basic_regex_parser.hpp:804:54: required from
'bool boost::re_detail::basic_regex_parser::parse_extended_escape() [with charT = wchar_t; traits =
boost::regex_traits]'
d:\boost/boost/regex/v4/basic_regex_parser.hpp:308:36: required from
'bool boost::re_detail::basic_regex_parser::parse_extended()
[with charT = wchar_t; traits = boost::regex_traits]'
d:\boost/boost/regex/v4/basic_regex_parser.hpp:134:10: required from
'void boost::re_detail::basic_regex_parser::parse(const
charT*, const charT*, unsigned int) [with charT = wchar_t; traits =
boost::regex_traits]'
d:\boost/boost/regex/v4/basic_regex.hpp:215:7: required from 'void
boost::re_detail::basic_regex_implementation::assign(const
charT*, const charT*, boost::re_detail::basic_regex_implementation::flag_type) [with charT = wchar_t; traits =
boost::regex_traits;
boost::re_detail::basic_regex_implementation::flag_type =
unsigned int]'
d:\boost/boost/regex/v4/basic_regex.hpp:661:4: required from
'boost::basic_regex& boost::basic_regex::do_assign(const charT*, const charT*, boost::basic_regex::flag_type) [with charT = wchar_t; traits =
boost::regex_traits; boost::basic_regex::flag_type =
unsigned int]'
d:\boost/boost/regex/v4/basic_regex.hpp:382:33: required from
'boost::basic_regex& boost::basic_regex::assign(const charT*, const charT*, boost::basic_regex::flag_type) [with charT = wchar_t; traits =
boost::regex_traits; boost::basic_regex =
boost::basic_regex >;
boost::basic_regex::flag_type = unsigned int]'
d:\boost/boost/regex/v4/basic_regex.hpp:367:48: required from
'boost::basic_regex& boost::basic_regex::assign(const charT*, boost::basic_regex::flag_type)
[with charT = wchar_t; traits = boost::regex_traits;
boost::basic_regex = boost::basic_regex >; boost::basic_regex::flag_type = unsigned int]'
d:\boost/boost/regex/v4/basic_regex.hpp:336:7: required from
'boost::basic_regex::basic_regex(const charT*,
boost::basic_regex::flag_type) [with charT = wchar_t; traits
= boost::regex_traits; boost::basic_regex::flag_type
= unsigned int]'
test.cpp:15:37: required from here
d:\boost/boost/regex/v4/regex_traits_defaults.hpp:329:73: warning:
narrowing conversion of ''\37777777605'' from 'char' to 'const wchar_t'
inside { } [-Wnarrowing]
d:\boost/boost/regex/v4/regex_traits_defaults.hpp:331:64: warning:
narrowing conversion of ''\37777777605'' from 'char' to 'const wchar_t'
inside { } [-Wnarrowing]
code :
#include <iostream>
#include
int main() {
boost::regex narrow_str_regex("a+");
boost::wregex wide_str_regex(L"a+");
}
boost:
http://sourceforge.net/projects/boost/files/boost/1.52.0/boost_1_52_0.7z
compiler:
http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7....
( and I know that this is the bug:
https://svn.boost.org/trac/boost/ticket/7263 )
so, any tricks to get around this (some compiler switches?, I dunno) ? Or
can I just ignore this error ? (Yes I need regex matching on wide strings.)
--
View this message in context: http://boost.2283326.n4.nabble.com/narrowing-conversion-warning-in-boost-s-r...
Sent from the Boost - Users mailing list archive at Nabble.com.