Предупреждение о производном конструкторе: никогда не будет выполнено

Добрый день, господа)

У меня просто странная проблема при программировании на c ++ с использованием Code :: Blocks 10.05, FreeBSD 9.1

Источник в lib.cpp:

class A{
public:
A();
A(var1, var2);
};
A::A(){ imlementation }
A::A(va1, var2) {implementation }
class B : public A{
public:
B();
B(var1, var2);
};
B::B() : A() {} // this is Astr#
B::B(var1, var2) : A(var1, var2) {} // this is Bstr#

Источник в lib.h:

class A{
public:
A();
A(var1, var2);
};
class B : public A{
public:
B();
B(var1, var2);
};

Источник в main.cpp:

#include "lib.h"...
int main(){
...
B* Bptr = new B();
B* Bptr2 = new B(var1, var2);
...
}

И я получаю эти предупреждения сборки:

.../lib.cpp||In constructor 'B::B(var1, var2)':
.../lib.cpp|Bstr#|warning: will never be executed
.../lib.cpp||In constructor 'B::B(var1, var2)':
.../lib.cpp|Bstr#|warning: will never be executed
.../lib.cpp||In constructor 'B::B()':
.../lib.cpp|Astr#|warning: will never be executed
.../lib.cpp||In constructor 'B::B()':
.../lib.cpp|Astr#|warning: will never be executed
||=== Build finished: 0 errors, 4 warnings ===|

Это предупреждение появляется только в режиме отладки, сборка релиза идет нормально.
Код строится и работает нормально, но что я делаю не так?

2

Решение

Конструктор B(var1,var2) в lib.h является приватным.

3

Другие решения

предупреждение: никогда не будет выполнено

предупреждение GCC, которое может быть включено с -Wunreachable-code, -Wunreachable-code очень ненадежен и не должен использоваться; по этой причине весь вариант был удален в более новых версиях GCC. (На самом деле, не удаляется полностью: опция командной строки -Wunreachable-code все еще там, но больше ничего не делает.)

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector