- extern "C"{
- struct HEAD_MD002_4_T
- {
- static constexpr int _h[] = {5, 6, 8, 16, 16, 11, 11, 11, 11, 11, 11, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 12, 11, 11, 8, 12};
- typedef std::tuple<string,string,string,int64_t,double,double,double,double> _FIELDS;
- static constexpr std::array<int,sizeof(_h)> H = {5,12,21,38,55,67,79};
- /*_HEAD_MD002_4()
- {
- std::partial_sum(std::begin(_h),std::end(_h),H.data(),[&](int x,int y){return x+y+1;});
- }*/
- };
- }
- //使用时
- for(auto& i : HEAD_MD002_4_T::H)
- {
- //....
- }
复制代码
undefined symbol: _ZN14HEAD_MD002_4_T1HE)
编译正常,运行出错
另外一个问题是static constexpr std::array<int,sizeof(_h)> H 可不可以 利用 std::partial_sum进行初始化?
|