Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

GCC Debugging/g++/Warnings

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

deprecated conversion from string constant to 'char*' friend declaration 'FUNCTION' declares a non-template function Message found in GCC version 4.5.1 usually paired with message: note: (if this is not what you intended, make sure the function template has already been declared and add <> after the function name here) template <typename T> class Foo { public: T data; friend void Bar(Foo<T> &); }; template <typename T> void Bar(Foo<T> &f) { cout << f.data << endl; } Possible fix? template <typename TT> void Bar(TT &); template <typename T> class Foo { public: T data; friend void Bar<>(Foo<T> &); }; template <typename TT> void Bar(TT &f) { cout << f.data << endl; } ISO C++ says that these are ambiguous ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second Message found in GCC versions ? possibly a custom defined type cast is interfering with another cast inside a class definition multi-character character constant Message found in GCC versions 4.4.3, 4.5.1 sometimes paired with the warning: "overflow in implicit constant conversion" possibly from using a forward slash instead of a backslash in a character assignment. char mrChar = '/0'; // instead of: char mrChar = '\0'; null argument where non-null required Message found in GCC versions ? you're passing a null argument to a string function strcpy(mrChar, '\0'); // won't work, null argument ('\0') supplied strcpy(mrChar, ""); // will work?