Понимаю, что вопрос к убунту не относится, однако в описании раздела форума стоит "Всё, что касается программирования", поэтому...
Есть нечто такое (всё лишнее убрал):
#include <vector>
template<typename T> class Container
{
public:
~Container() throw ();
protected:
std::vector<T *> arr;
};
template<typename T> Container<T>::~Container() throw ()
{
if (this->arr.empty())
return;
for (std::vector<T *>::iterator i = this->arr.begin(); i < this->arr.end(); i++)
<чегототам>;
}
При компиляции (gcc 4:4.1.2-9ubuntu2) получаем
core.cpp: In destructor 'Vertex::Container<T>::~Container()':
core.cpp:495: error: expected `;' before 'i'
core.cpp:495: error: 'i' was not declared in this scope
495 строка - это строка с for( ; ; )
Если в этой строке поменять T * на int, то компилируется.
Вопрос стандартный: wtf? o_O