From bfe96d1ed69c9561ed3ec132c744e4cc33ee95fa Mon Sep 17 00:00:00 2001 From: rillig Date: Sun, 6 Jan 2008 18:03:16 +0000 Subject: Explained an error message from g++ that occurs quite often. --- mk/help/c++.help | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 mk/help/c++.help (limited to 'mk/help') diff --git a/mk/help/c++.help b/mk/help/c++.help new file mode 100644 index 00000000000..c80ed9b7562 --- /dev/null +++ b/mk/help/c++.help @@ -0,0 +1,36 @@ +# $NetBSD: c++.help,v 1.1 2008/01/06 18:03:16 rillig Exp $ + +# This file contains typical error messages from C++ compilers and +# instructions how to fix them properly. + +# === ISO C++ forbits declaration of '%s' with no type === +# +# This g++ error message appears when a variable is declared, but the +# type of the variable has not been defined before. +# +# A common cause is that the type has been "declared" implicitly in a +# friend declaration of a class. Up to g++3, this friend declaration +# was also an implicit class declaration. Starting with g++4, this is no +# longer the case. +# +# Now you have to declare the friend class twice: Once to say that it is +# a class, and twice to say that it is a friend. Example: +# +# Wrong: +# +# class Me { +# friend class You; +# }; +# +# You look_great; +# +# Correct: +# +# class You; // <-- new +# class Me { +# friend class You; +# }; +# +# You look_great; +# +# Keywords: ISO C++ forbids declaration type friend -- cgit v1.2.3