Это, вероятно, то, что вы хотите:
class Foo
{
public:
// The custom constructor I want to use.
Foo(const char*);
};
class Bar
{
public:
Bar();
//The instance of Foo I want to use being declared.
Foo bu; // Member of type Foo
};
int main(int argc, char* args[])
{
return 0;
}
Bar::Bar() : bu("dasf") // Create instance of type Foo
{
}
Foo::Foo(const char* iLoc)
{
}
Что касается этого объявления: Foo bu(const char*);
Это объявление функции-члена с именем bu
, которая принимает const char*
и возвращает Foo
. Неразрешенная ошибка символа заключается в том, что вы никогда не определяли функцию bu
, но вам нужен экземпляр Foo
, а не функция.
Другой метод после просмотра комментариев:
class Foo
{
public:
// The custom constructor I want to use.
Foo(const char*);
};
class Bar
{
public:
Bar();
~Bar() { delete bu;} // Delete bu
//The instance of Foo I want to use being declared.
Foo *bu; // Member of type Foo
};
int main(int argc, char* args[])
{
return 0;
}
Bar::Bar() : bu(new Foo("dasf")) // Create instance of type Foo
{
}
Foo::Foo(const char* iLoc)
{
}
А также есть много других проблем с вашим кодом, возможно, было бы неплохо получить книгу на C ++, например C ++ Primer .