我結構體里定義了個陣列

想實作類似這樣的操作

所以多載了=

可以在
line_Arry _first = {2,1,3,4,51,12,5,6};
這一句的時候出現了語法錯誤
如果直接用陣列賦值也會出現型別不匹配
我想問的就是
1.是不是運算子多載 引數型別是不可以改變的呢?
2.如果1是正確的話,那為什么上面的operator = 可以編譯成功呢?是編譯器沒有對這個進行檢查嗎?還是有其它用途?
3.這個操作的實作有沒有可行的方法呢?
uj5u.com熱心網友回復:
{1,2,3}這不代表是陣列,C++11后他是initializer_list,陣列可以用它初始化,但他不能直接轉為陣列.c++11之前他叫初始化串列,但不是陣列
如果你是用的支持c++11的編譯器
可以
operator=(const initializer_list<int>& o)
方式初始化
uj5u.com熱心網友回復:
學習了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/257222.html
標籤:C++ 語言
上一篇:表單應用程式大佬們幫忙看看
下一篇:如何同時接受滑鼠滑動和按下操作?
