|
2.2, Aleksey (??), 11:39, 21/11/2006 [^] [^^] [^^^] [ответить]
| +/– |
сообщение
invalid initialization of non-const reference of type 'int&' from a temporary of type 'int'
in passing argument 1 of 'void foo(int&)'
на код
void foo (int& oof) { }
int main (int argn, char** argv) { foo (0); }
что нибудь говорит ?
| |
|
3.3, kpot (?), 12:31, 21/11/2006 [^] [^^] [^^^] [ответить]
| +/– |
Конечно говорит. Ты передаёшь в foo ноль, константой. А судя по сигнатуре foo, ты должен передать именно переменную. Например:
void foo(int& oof) {}
int main(...) { int v = 0; foo(v); } | |
|
|
5.6, Kemm (?), 15:45, 21/11/2006 [^] [^^] [^^^] [ответить]
| +/– |
Польза-то какая от этого? Если я написал int &, значит надо так. Я и поизменять могу захотеть внутри функции, к примеру. Что будет? | |
|
6.11, trantor (??), 18:53, 27/11/2006 [^] [^^] [^^^] [ответить]
| +/– |
segmentation fault например как я понимаю. Передача ссылки на константу, которая может не находиться в writable памяти.
| |
|
|
|
|
|
1.8, JetSnaiL (ok), 14:59, 22/11/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Здорово! Хорошие изменения. Еще бы разрешить template method specialization внутри классов и template friends, было бы совсем хорошо!
| |
|
2.9, Nem (?), 11:39, 23/11/2006 [^] [^^] [^^^] [ответить]
| +/– |
>Здорово! Хорошие изменения. Еще бы разрешить template method specialization внутри классов и
>template friends, было бы совсем хорошо!
Точно. Этого сильно не хватает. Чтобы сделать частичную специализацию только одного метода класса, приходится частично специализировать весь класс. Т.е. полностью копировать все его описание, что приводит к полной ж.пе при сопровождении. | |
|
3.10, kyrie (?), 22:12, 23/11/2006 [^] [^^] [^^^] [ответить]
| +/– |
>>Здорово! Хорошие изменения. Еще бы разрешить template method specialization внутри классов и
>>template friends, было бы совсем хорошо!
>
>Точно. Этого сильно не хватает. Чтобы сделать частичную специализацию только одного метода
>класса, приходится частично специализировать весь класс. Т.е. полностью копировать все его
>описание, что приводит к полной ж.пе при сопровождении.
Именно! А если еще разрешить локальным классам выступать хотя бы как параметры шаблонов не локальных классов... Т.е. например:
template <class T> void myMethod()
{
struct MyStruct : public T{};
std::vector<MyStruct> vec;
...
}
| |
|
|
|