From 8cfe343c72f084f3b1114690330e82b56c3af17b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Mon, 12 Apr 2021 16:20:07 +0200
Subject: [PATCH] Explain why one cannot use std::make_shared at this point

---
 src/mesh/Connectivity.hpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/mesh/Connectivity.hpp b/src/mesh/Connectivity.hpp
index 5ca484b22..20caa238c 100644
--- a/src/mesh/Connectivity.hpp
+++ b/src/mesh/Connectivity.hpp
@@ -658,11 +658,12 @@ class Connectivity final : public IConnectivity
   ~Connectivity() = default;
 };
 
-template <size_t Dim>
-PUGS_INLINE std::shared_ptr<Connectivity<Dim>>
-Connectivity<Dim>::build(const ConnectivityDescriptor& descriptor)
+template <size_t Dimension>
+PUGS_INLINE std::shared_ptr<Connectivity<Dimension>>
+Connectivity<Dimension>::build(const ConnectivityDescriptor& descriptor)
 {
-  std::shared_ptr<Connectivity<Dim>> connectivity_ptr(new Connectivity<Dim>);
+  // Cannot use std::make_shared in this context since the default constructor is private
+  std::shared_ptr<Connectivity<Dimension>> connectivity_ptr(new Connectivity<Dimension>);
   connectivity_ptr->_buildFrom(descriptor);
 
   return connectivity_ptr;
-- 
GitLab