o o s t / p y t h o n . h p p > d o u b l e v o l u m e ( d o u b l e a , d o u b l e b , d o u b l e c , d o u b l e d = 1 , d o u b l e e = 1 ) { r e t u r n a * b * c * d * e ; } B O O S T _ P Y T H O N _ F U N C T I O N _ O V E R L O A D S ( v o l u m e _ o v e r l o a d s , v o l u m e , 3 , 5 ) ; B O O S T _ P Y T H O N _ M O D U L E ( v o l u m e _ d e f a u l t s ) { / / N o t i c e t h a t d e f ( ) t a k e s t h r e e a r g u m e n t s h e r e . b o o s t : : p y t h o n : : d e f ( " v o l u m e " , v o l u m e , v o l u m e _ o v e r l o a d s ( ) ) ; } I n [ 3 8 ] : f r o m v o l u m e _ d e f a u l t s i m p o r t v o l u m e p r i n t ( v o l u m e ( 1 , 1 , 2 ) ) p r i n t ( v o l u m e ( 3 , 5 , 8 , 1 3 ) ) p r i n t ( v o l u m e ( 2 1 , 3 4 , 5 5 , 8 9 , 1 4 4 ) ) And of course the Python function requires a minimum number of arguments: I n [ 3 9 ] : p r i n t ( v o l u m e ( 3 , 5 ) ) 2 . 0 1 5 6 0 . 0 5 0 3 2 8 4 3 2 0 . 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A r g u m e n t E r r o r T r a c e b a c k ( m o s t r e c e n t c a l l l a s t ) < i p y t h o n - i n p u t - 3 9 - 3 0 5 4 8 8 c 4 9 0 6 f > i n < m o d u l e > ( ) - - - - > 1 p r i n t ( v o l u m e ( 3 , 5 ) ) A r g u m e n t E r r o r : P y t h o n a r g u m e n t t y p e s i n v o l u m e _ d e f a u l t s . v o l u m e ( i n t , i n t ) d i d n o t m a t c h C + + s i g n a t u r e : v o l u m e ( d o u b l e , d o u b l e , d o u b l e ) v o l u m e ( d o u b l e , d o u b l e , d o u b l e , d o u b l e ) v o l u m e ( d o u b l e , d o u b l e , d o u b l e , d o u b l e , d o u b l e )