Wie muss ich die Funktion foo anpassen damit a=foo; unter C und C++ funktioniert? ne Funktion mit "returning pointer to array 5 of char"
1 | #include <stdio.h> |
2 | |
3 | typedef char (* (*WTF)() )[5]; |
4 | |
5 | char* foo () |
6 | { |
7 | |
8 | } |
9 | |
10 | int main () |
11 | { |
12 | WTF a; |
13 | a = foo; // compiliert als c aber nicht als c++ |
14 | } |
Diesen Compiler benutzt: https://www.onlinegdb.com/online_c_compiler C++ compile: error: invalid conversion from ‘char* (*)()’ to ‘WTF {aka char (* (*)())[5]}’ [-fpermissive] https://cdecl.org/ C gibberish ↔ English char(*(*WTF)())[5]; declare WTF as pointer to function RETURNING POINTER TO ARRAY 5 OF CHAR