Coder Social home page Coder Social logo

Comments (3)

lcpt avatar lcpt commented on June 11, 2024 1

Never mind, I've solved it using: g++ -std=gnu++17 simple_expressions.cpp.

from ublas.

bassoy avatar bassoy commented on June 11, 2024

@mrityunjay-tripathi

Please specify what compiler & environment you have used.
You can see here that the simple expression example compiles and executes as expected.

from ublas.

lcpt avatar lcpt commented on June 11, 2024

Hi.

I get the same error when I try to compile: g++ simple_expressions.cpp without any other arguments (no NDEBUG, ...).

My compiler details:

g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

And the errors returned by the compiler:

In file included from /usr/include/boost/numeric/ublas/tensor/functions.hpp:25,
                 from /usr/include/boost/numeric/ublas/tensor.hpp:18,
                 from simple_expressions.cpp:13:
/usr/include/boost/numeric/ublas/tensor/expression.hpp: In instantiation of ‘boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>::unary_tensor_expression(boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>&&) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:53&)>]’:
/usr/include/boost/numeric/ublas/tensor/expression.hpp:161:50:   required from ‘auto boost::numeric::ublas::detail::make_unary_tensor_expression(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, OP) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:53&)>]’
/usr/include/boost/numeric/ublas/tensor/operators_arithmetic.hpp:122:72:   required from ‘auto operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]’
simple_expressions.cpp:31:14:   required from here
/usr/include/boost/numeric/ublas/tensor/expression.hpp:148:20: error: ‘struct operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:53&)>’ has no member named ‘l’
  148 |    : e(l.e), op(op.l) {}
      |                 ~~~^
/usr/include/boost/numeric/ublas/tensor/expression.hpp: In instantiation of ‘boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>::unary_tensor_expression(boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>&&) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)>]’:
/usr/include/boost/numeric/ublas/tensor/expression.hpp:161:50:   required from ‘auto boost::numeric::ublas::detail::make_unary_tensor_expression(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, OP) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)>]’
/usr/include/boost/numeric/ublas/tensor/operators_arithmetic.hpp:112:72:   required from ‘auto operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]’
simple_expressions.cpp:32:10:   required from here
/usr/include/boost/numeric/ublas/tensor/expression.hpp:148:20: error: ‘struct operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)>’ has no member named ‘l’
/usr/include/boost/numeric/ublas/tensor/expression.hpp: In instantiation of ‘boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>::unary_tensor_expression(boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>&&) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; OP = operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]::<lambda(const auto:54&)>]’:
/usr/include/boost/numeric/ublas/tensor/expression.hpp:161:50:   required from ‘auto boost::numeric::ublas::detail::make_unary_tensor_expression(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, OP) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; OP = operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]::<lambda(const auto:54&)>]’
/usr/include/boost/numeric/ublas/tensor/operators_arithmetic.hpp:126:72:   required from ‘auto operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]’
simple_expressions.cpp:32:14:   required from here
/usr/include/boost/numeric/ublas/tensor/expression.hpp:148:20: error: ‘struct operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]::<lambda(const auto:54&)>’ has no member named ‘l’

from ublas.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.