我在下面编写了这段代码,但是当我尝试返回一些二维数组时,它将引发以下错误。
int (* function (int input[2][2]) ) [2][2]{
return input;
}
from trial and error, I understand that when I change the function declaration to int (* function (args) ) [2] {...}
it works like a charm, but why??? I don't understand. How C++ actually sees arrays? How these return declarations int (* function () )[n][m]
actually works? What happens when I add another * to function declaration int *(* function () )[n][m]
??
My source for finding the solution to this problem was this but I just copied some code and understood almost 0% of it.
如果有人可以向我解释这些功能的工作原理,那就太好了,如果您可以提出一个很好的阅读源来理解C ++中的这些高级概念,那对我来说将是一个世界。