summaryrefslogtreecommitdiff
path: root/mk/help
diff options
context:
space:
mode:
authorrillig <rillig>2008-01-06 18:03:16 +0000
committerrillig <rillig>2008-01-06 18:03:16 +0000
commitbfe96d1ed69c9561ed3ec132c744e4cc33ee95fa (patch)
tree6d58fde87ae46a8c2449915d69ce8614e599775e /mk/help
parent387069a805cac161005e96f7750d4e20e872f398 (diff)
downloadpkgsrc-bfe96d1ed69c9561ed3ec132c744e4cc33ee95fa.tar.gz
Explained an error message from g++ that occurs quite often.
Diffstat (limited to 'mk/help')
-rw-r--r--mk/help/c++.help36
1 files changed, 36 insertions, 0 deletions
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