This is the code that I have written
å°è¯•æ‰“å°çŸ¢é‡å€¼æ—¶å‡ºçŽ°é”™è¯¯ï¼Œæˆ‘æ— æ³•å¼„æ¸…åŽŸå› ã€‚
æˆ‘å°†æ•°ç»„ä¼ é€’ç»™äº†å‡½æ•°print(&v1)
。
有人å¯ä»¥å¸®æˆ‘弄清楚为什么会å‘生æ¤é”™è¯¯ï¼Œä»¥åŠæ˜¯å¦æœ‰æ›´å¥½çš„替代方法å¯ä»¥æ‰“å°å‡ºå‡½æ•°ä¸çš„矢é‡å…ƒç´ 。
ç”案 0 :(得分:4)
您æ£ç¡®åœ°ä½¿ç”¨äº†->
ä¸çš„print1
而ä¸æ˜¯.
(如print
ä¸çš„x->y
)æ¥å¯¹å‘é‡çš„指针进行æ“ä½œã€‚ä¹‹æ‰€ä»¥æœ‰æ•ˆï¼Œæ˜¯å› ä¸º(*x).y
ç‰æ•ˆäºŽ[]
,这æ„味ç€åœ¨è®¿é—®å‘é‡ä¹‹å‰ï¼Œæ‚¨å·²ç»æ£ç¡®åœ°å–消了指å‘å‘é‡çš„指针。
[]
除外。在这里,您还必须在使用cout << (*v)[x] << endl;
之å‰å–消引用指针。所以:
(*x)[]
(*x).y
没有[]
的缩写(也称为“è¯æ³•ç³–â€ï¼‰ï¼Œå› æ¤å¿…须手动进行。
错误消æ¯ä»¤äººå›°æƒ‘ï¼Œå› ä¸ºåœ¨æŒ‡é’ˆä¸Šä½¿ç”¨x[y]
是有效的-*(x+y)
ç‰æ•ˆäºŽv
,这æ„味ç€æ‚¨æ£åœ¨æ‰§è¡ŒæŒ‡é’ˆç®—术:您å¯ä»¥åƒä½¿ç”¨x
ä¸€æ ·ä½¿ç”¨å‘é‡æ•°ç»„(Cæ ·å¼ï¼‰ï¼Œç„¶åŽå°è¯•ä»Žæ¤å‘é‡æ•°ç»„ä¸èŽ·å–第<<
ä¸ªå…ƒç´ ã€‚å¹¸è¿çš„是,编译器ä¸çŸ¥é“如何使用Vector
cout
和//[Required]
//public string Name { get; set; }
//[Required]
//public string Description { get; set; }
-但是,如果å¯ä»¥ï¼Œä»£ç 将编译并执行您(å¯èƒ½ï¼‰ä¸å¸Œæœ›çš„æ“作。