Ok, quindi parliamo di C++, giusto? Io prima avevo scritto in C, ma comunque non cambia molto.
Sinceramente non capisco il problema:
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
	string s = "[?]";
	string matrice[2][2];
	for(int i=0; i<2; ++i) {
		for(int j=0; j<2; ++j) {
			matrice[i][j] = s;
		}
	}
	for(int i=0; i<2; ++i) {
		for(int j=0; j<2; ++j) {
			cout << matrice[i][j] << "   ";
		}
		cout << endl;
	}
	return 0;
}
L'output che vedo è
[?]   [?]   
[?]   [?]
E' questo quello che vuoi, no?