所以,我的數組是這樣的:打印輸出字符串
string links[26][4];
links[0][0] = 'A';
links[0][1] = 'WOL-LA-CHEE';
如果我嘗試打印讓我們說 'WOL-LA-CHEE' 是這樣的:
COUT < <鏈接[0] [1]
我的輸出是這樣的:
Ë
我做錯了什麼?
所以,我的數組是這樣的:打印輸出字符串
string links[26][4];
links[0][0] = 'A';
links[0][1] = 'WOL-LA-CHEE';
如果我嘗試打印讓我們說 'WOL-LA-CHEE' 是這樣的:
COUT < <鏈接[0] [1]
我的輸出是這樣的:
Ë
我做錯了什麼?
將字符串放在雙引號中。 "WOL-LA-CHEE"
。單引號聲明一個字符常量,在這種情況下它的值是未指定的。
如果您在單引號之間放置文本,則表示字符文字。由於std::string
的複製構造函數是char
和const char *
,因此它適用於一個字符,但它對於多個字符不起作用。您很可能希望把雙引號之間的字符串:
links[0][1] = "WOL-LA-CHEE";
謝謝,它工作。 – paradajz 2013-03-27 14:01:44
'WOL-LA-CHEE'
是一個多字符常量。它具有實現定義的值,並且是int
。看來你想要一個字符串文字來代替:
links[0][0] = "A";
links[0][1] = "WOL-LA-CHEE";
分配'A'
以前工作,因爲這是一個正常的字符文字,且類型char
。 std::string
的負載爲operator=
,需要char
。
'WOL-LA-CHEE''是一個多字符文字。你想要一個字符串文字。 – chris 2013-03-27 13:42:52