friend function definition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I've got a piece of code which I think should be legal, but I get an error with g++

#include <iostream>

class bird_watch {
    friend int register_bird() {
        return ++bird_watch::counter;
    }
    static int counter;
};

int main (int argc, char *argv[])
{
    std::cout << register_bird() << '\n';
}


stadler_h@tuxedo:~/Devel/Test/CPP$ g++ --version
g++ (Ubuntu 7.2.0-8ubuntu3.2) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

stadler_h@tuxedo:~/Devel/Test/CPP$ g++ -Wall -std=c++17 tmpl_test.cc
tmpl_test.cc: In function ‘int main(int, char**)’:
tmpl_test.cc:12:18: error: ‘register_bird’ was not declared in this scope
     std::cout << register_bird() << '\n';
                  ^~~~~~~~~~~~~

As far as my limited C++ knowledge goes, register_bird should be a valid function in global scope?

Really sorry to disturb if I'm mistaken,

HC




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux