Привет.
Или я что-то непонимаю или так и должно быть???
#include <boost/lambda/lambda.hpp>
void main() {
}
Выдает
boost/lambda/detail/lambda_fwd.hpp(31) : fatal error C1001: INTERNAL COMPILER ERROR
От:
Bell
Дата: 23.10.03 15:27
Оценка:
Здравствуйте, Kozyrevski, Вы писали:
K>Привет.
K>Или я что-то непонимаю или так и должно быть???
K>K>#include <boost/lambda/lambda.hpp>
K>void main() {
K>}
K>
K>Выдает
K>boost/lambda/detail/lambda_fwd.hpp(31) : fatal error C1001: INTERNAL COMPILER ERROR
K>
Ну, VC6 просто не способен к нормальным отношениям с boost::lambda
Любите книгу — источник знаний (с) М.Горький
Здравствуйте, Bell, Вы писали:
B>Ну, VC6 просто не способен к нормальным отношениям с boost::lambda
B>
А кто способен???
Intel 5.0:
boost/lambda/detail/operators.hpp(123): error: expected an identifier
BOOST_LAMBDA_BE(operator+=, arithmetic_assignment_action<plus_action>, , const, reference_argument)
и так еще 99 ошибок, все одинаковые но на разные строчки
Здравствуйте, Kozyrevski, Вы писали:
Там вроде частичная специализация шаблонов используется. VC6 и VC7 такое не понимают. Только VC7.1 (ну и все последующие версии)
A journey of a thousand miles must begin with a single step © Lau Tsu
Здравствуйте, Kozyrevski, Вы писали:
K>Привет.
K>Или я что-то непонимаю или так и должно быть???
K>K>#include <boost/lambda/lambda.hpp>
K>void main() {
K>}
K>
K>Выдает
K>boost/lambda/detail/lambda_fwd.hpp(31) : fatal error C1001: INTERNAL COMPILER ERROR
K>
Собственно хотелось что-то вроде этого:
vector<int > a(100);
.
.
.
for_each(a.begin(), a.end(), cout << _1 << '\n' );
Как такое сделать, не используя boost::lambda?
В том смысле, как написать "
_1 ", чтобы компилилось VC6 или Intel?
Честно говоря не хочется разбираться в boost-овских исходниках, может кто знает?
От:
folk
Дата: 23.10.03 21:48
Оценка:
Здравствуйте, Kozyrevski, Вы писали:
K>Здравствуйте, Kozyrevski, Вы писали:
K>>Привет.
K>>Или я что-то непонимаю или так и должно быть???
K>>K>>#include <boost/lambda/lambda.hpp>
K>>void main() {
K>>}
K>>
K>>Выдает
K>>boost/lambda/detail/lambda_fwd.hpp(31) : fatal error C1001: INTERNAL COMPILER ERROR
K>>
K>Собственно хотелось что-то вроде этого:
K>K>vector<int > a(100);
K>.
K>.
K>.
K>for_each(a.begin(), a.end(), cout << _1 << '\n' );
K>
K>Как такое сделать, не используя boost::lambda?
Как обычно:
vector<int > a(100);
.
.
.
copy(a.begin(), a.end(), ostream_iterator<int >(cout, "\n" ));
K>В том смысле, как написать "_1 ", чтобы компилилось VC6 или Intel?
K>Честно говоря не хочется разбираться в boost-овских исходниках, может кто знает?
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Здравствуйте, folk, Вы писали:
F>Как обычно:
F>F>vector<int > a(100);
F>.
F>.
F>.
F>copy(a.begin(), a.end(), ostream_iterator<int >(cout, "\n" ));
F>
Хорошо, а если вектор содержит указатели?
С помощью boost можно так:
for_each(vp.begin(), vp.end(), cout << *_1 << '\n' );
Вопрос в том, можно-ли что-то подобное реализовать на VC6???
Пока на собственное сообщение не было ответов, его можно удалить.
Удалить