配列を直接渡すことはできますが、参照によって渡す方法を知る必要があります。Element 型の新しい std::array を使用しています。私はいくつかのことを試しましたが、うまくいきません。参照として渡す方法がわかりません。私はいじりました、そして私はこれを理解することができません。
配列全体をコピーしないようにするには、std::array を参照パラメーターとして渡すにはどうすればよいですか?
アレイのセットアップ方法:
std::array<Element, 115> Elements =
{{
/*int aNumber, float awNumber, period_number PERIOD, group_names GROUP_NAME, metal_status METALSTATUS,
valence_shell Orbital,std::string eName, std::string eSybol);*/
{},
{1, 1.00794, period::PERIOD_ONE, group::HYDROGEN, metal::NONMETAL, shell::S_ORBITAL, "Hydrogen", "H"}
}};
働く
void sortByAtomicNumber(std::array<Element, 115> elements, int minimum, int maximum)
{
int counter = 1;
for(;minimum < (maximum+1); minimum++)
{
std::cout << counter << ".) " << elements[minimum].getElementName() << std::endl;
counter++;
}
}
試した元: http://gauravpandey.com/wordpress/?p=602 //テンプレートをまだ学習していません...
template<size_t N>
void sortByAtomicNumber(std::array<int, N> const& arr, int maximum, int minimum) {
int counter = 1;
for(;minimum < (maximum+1); minimum++)
{
std::cout << counter << ".) " << arr[minimum].getElementName() << std::endl;
counter++;
}
}
上からの誤差
エラー: 'std::string > > Element::getElementName()' の 'this' 引数として 'const value_type {aka const Element}' を渡すと、修飾子が破棄されます [-fpermissive]