Предупреждение GCC [Wuninitialized]

Почему GCC 4.7 жалуется при создании экземпляра класса внутри функции (с указателем)?

Плохо:

#include "foo.h"

int fn () {
    Foo *foo;
    foo->method();

   return 0;
}

main.cpp: В функции-члене 'int foo () ': main.cpp: 21: 52: предупреждение: 'fn' может использоваться неинициализированным в этом функция [-Wuninitialized]

Хорошо:

#include "foo.h"

Foo *foo;

int fn () {
    foo->method();

   return 0;
}

Хорошо:

#include "foo.h"

int fn () {
    Foo foo;
    foo.method();

   return 0;
}
5
задан Duglas 9 January 2012 в 12:04
поделиться