boostorg / boostorg/multi_array

multi_array doesn't compile

未关闭
#38 2 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C++
星标
32
派生
39
PR 合并指标
30 天内没有已合并 PR

描述

There are a lot of errors with simple multi_array instantiation:
1. declaration of 'extents' hides global declaration
2. deprecated assign method is used instead of fill in boost::array used for extents and storage_order in multi_array constructor. Problem with storage_order constructor and multi_array constructor itself.

Microsoft (R) C/C++ Optimizing Compiler Version 19.43.34810 for x64
Copyright (C) Microsoft Corporation. All rights reserved.

#include

GlobalFixture::GlobalFixture() {
boost::multi_array ma;
}

1>------ Build started: Project: mts_test_utility, Configuration: Debug x64 ------
1>GlobalFixture.cpp
1>C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(615,45): warning C4459: declaration of 'extents' hides global declaration
1>(compiling source file '/GlobalFixture.cpp')
1> C:\boost_1_88_0\boost\multi_array\base.hpp(69,33):
1> see declaration of 'boost::`anonymous-namespace'::extents'
1> C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(615,45):
1> the template instantiation context (the oldest one first) is
1> C:\MTS\mts_test_utility\GlobalFixture.cpp(16,32):
1> see reference to class template instantiation 'boost::multi_array>' being compiled
1> C:\boost_1_88_0\boost\multi_array.hpp(122,10):
1> see reference to class template instantiation 'boost::multi_array_ref' being compiled
1> with
1> [
1> T=double
1> ]
1> C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(612,3):
1> while compiling class template member function 'boost::multi_array_ref::multi_array_ref(T *,const boost::general_storage_order<4> &,const __int64 *,const unsigned __int64 *)'
1> with
1> [
1> T=double
1> ]
1> C:\boost_1_88_0\boost\multi_array.hpp(153,15):
1> see the first reference to 'boost::multi_array_ref::multi_array_ref' in 'boost::multi_array>::multi_array'
1> with
1> [
1> T=double
1> ]
1> C:\MTS\mts_test_utility\GlobalFixture.cpp(16,32):
1> see the first reference to 'boost::multi_array>::multi_array' in 'GlobalFixture::GlobalFixture'
1>C:\boost_1_88_0\boost\multi_array\storage_order.hpp(51,18): error C4996: 'boost::array::assign': please use `fill` instead
1>(compiling source file '/GlobalFixture.cpp')
1> C:\boost_1_88_0\boost\multi_array\storage_order.hpp(51,18):
1> the template instantiation context (the oldest one first) is
1> C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(413,10):
1> see reference to class template instantiation 'boost::const_multi_array_ref' being compiled
1> with
1> [
1> T=double
1> ]
1> C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(350,22):
1> see reference to class template instantiation 'boost::general_storage_order<4>' being compiled
1> C:\boost_1_88_0\boost\multi_array\storage_order.hpp(47,5):
1> while compiling class template member function 'boost::general_storage_order<4>::general_storage_order(const boost::c_storage_order &)'
1> C:\boost_1_88_0\boost\multi_array.hpp(153,15):
1> see the first reference to 'boost::general_storage_order<4>::general_storage_order' in 'boost::multi_array>::multi_array'
1> C:\MTS\mts_test_utility\GlobalFixture.cpp(16,32):
1> see the first reference to 'boost::multi_array>::multi_array' in 'GlobalFixture::GlobalFixture'
1>C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(328,42): warning C4459: declaration of 'extents' hides global declaration
1>(compiling source file '/GlobalFixture.cpp')
1> C:\boost_1_88_0\boost\multi_array\base.hpp(69,33):
1> see declaration of 'boost::`anonymous-namespace'::extents'
1> C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(328,42):
1> the template instantiation context (the oldest one first) is
1> C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(324,3):
1> while compiling class template member function 'boost::const_multi_array_ref::const_multi_array_ref(TPtr,const boost::general_storage_order<4> &,const __int64 *,const unsigned __int64 *)'
1> with
1> [
1> T=double,
1> TPtr=double *
1> ]
1> C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(616,15):
1> see the first reference to 'boost::const_multi_array_ref::const_multi_array_ref' in 'boost::multi_array_ref::multi_array_ref'
1> with
1> [
1> T=double
1> ]
1> C:\boost_1_88_0\boost\multi_array.hpp(153,15):
1> see the first reference to 'boost::multi_array_ref::multi_array_ref' in 'boost::multi_array>::multi_array'
1> with
1> [
1> T=double
1> ]
1> C:\MTS\mts_test_utility\GlobalFixture.cpp(16,32):
1> see the first reference to 'boost::multi_array>::multi_array' in 'GlobalFixture::GlobalFixture'
1>C:\boost_1_88_0\boost\multi_array\multi_array_ref.hpp(343,18): error C4996: 'boost::array<__int64,4>::assign': please use `fill` instead
1>(compiling source file '/GlobalFixture.cpp')
1>Done building project "mts_test_utility.vcxproj" -- FAILED.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。