The problem is literally what the compiler is saying
"left operand of the comma operator has no effect"
That is, the left side of the expression on line 104
"i >= 0, j < size2"
has no effect, or in other words, is useless. This is because the comma operator ignores its left operand. See this:
To fix it, use the logical AND operator (&&) instead of the comma
"i >= 0 && j < size2"
You need to do the same thing for line 109.
Also, on line 37, you are making the same mistake you were making in your previous code
A non-const integer variable cannot be used to declare the size of the array as the size must be known to the compiler at compile time. You need to either use a integer literal (like "int matrix") or a const variable. It works on GCC, but it doesn't work on most other compilers.
Again you need to allocate a block of memory
`int *matrix = new int[size][size];`