Skip to content

matexp.cc cannot compile with g++ #9

Description

@mahmutbilgen

When I compile the matexp.cc with g++ I get belows errors.

[mbilgen@centos7 linux-tracing-workshop]$ g++  matexp.cc -g -o matexp
matexp.cc: In member function ‘matrix<T> matrix<T>::operator+(const matrix<T>&) const’:
matexp.cc:26:19: error: ‘invalid_argument’ is not a member of ‘std’
             throw std::invalid_argument("matrix dimensions don't match");
                   ^
matexp.cc:27:14: error: ‘result’ does not name a type
         auto result = *this;
              ^
matexp.cc:30:28: error: there are no arguments to ‘result’ that depend on a template parameter, so a declaration of ‘result’ must be available [-fpermissive]
                 result(i, j) += other(i, j);
                            ^
matexp.cc:30:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
matexp.cc:31:16: error: ‘result’ was not declared in this scope
         return result;
                ^
matexp.cc: In member function ‘matrix<T> matrix<T>::operator*(const matrix<T>&) const’:
matexp.cc:35:19: error: ‘invalid_argument’ is not a member of ‘std’
             throw std::invalid_argument("multiplication implemented only "
                   ^
matexp.cc:38:19: error: ‘invalid_argument’ is not a member of ‘std’
             throw std::invalid_argument("matrix dimensions don't match");
                   ^
matexp.cc: In constructor ‘exponentiator<T>::exponentiator(matrix<T>, int)’:
matexp.cc:55:14: error: ‘move’ is not a member of ‘std’
         mat_(std::move(mat)), exponent_(exp) {
              ^
matexp.cc: In member function ‘matrix<T> exponentiator<T>::operator()()’:
matexp.cc:58:14: error: ‘a’ does not name a type
         auto a = mat_;
              ^
matexp.cc:60:13: error: ‘a’ was not declared in this scope
             a = a * mat_;
             ^
matexp.cc:62:16: error: ‘a’ was not declared in this scope
         return a;
                ^
matexp.cc: In member function ‘matrix<float> io::read()’:
matexp.cc:72:19: error: ‘invalid_argument’ is not a member of ‘std’
             throw std::invalid_argument("unable to open input file");
                   ^
matexp.cc:77:23: warning: extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
         matrix<float> res{ rows, cols };
                       ^
matexp.cc:77:39: error: in C++98 ‘res’ must be initialized by constructor, not by ‘{...}’
         matrix<float> res{ rows, cols };
                                       ^
matexp.cc: In member function ‘void io::exp_to(std::string, int)’:
matexp.cc:96:14: error: ‘mat’ does not name a type
         auto mat = read();
              ^
matexp.cc:97:34: error: ‘mat’ was not declared in this scope
         exponentiator<float> exp(mat, rounds);
                                  ^
matexp.cc: In function ‘int main(int, char**)’:
matexp.cc:112:26: error: ‘atoi’ is not a member of ‘std’
     prog.exp_to(argv[3], std::atoi(argv[2]));
                          ^

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions