Thread Previous • Date Previous • Date Next • Thread Next |
By changing to standard definitions like that, it works. Do you think we should keep ISO forms when writing new versions, so that both old and new compilers can be used? Quoting Anders Logg <logg@xxxxxxxxx>: > My interpretation is that your gcc complains the about use of > anonymous classes: > > Does it help if you change in the three places in > src/demo/pde/convection-diffusion/main.cpp where this is used? > > Change from > > class : public Function > { > ... > } f; > > to > > class MyFunction : public Function > { > ... > }; > > MyFunction f; > > and similarly for the two BoundaryConditions. > > Does anyone know if 'class : public Foo { } foo;' is not allowed in > ANSI C++? I thought it was ok. > > /Anders > > On Thu, Mar 23, 2006 at 06:54:35PM +0100, Nguyen Tien Dung wrote: > > Dear all, > > > > With gcc version 3.3.4, when I put the command: make demo from the > top-level > > directory of dolfin 0.6.0, I get the following errors: > > > > > > main.cpp: In function `void solveConvectionDiffusion(dolfin::Mesh&, > > dolfin::Function&)': > > main.cpp:22: error: parse error before `:' token > > main.cpp: At global scope: > > main.cpp:31: error: ISO C++ forbids declaration of `bc' with no type > > main.cpp:34: error: parse error before `:' token > > main.cpp:40: error: ISO C++ forbids declaration of `f' with no type > > main.cpp:50: error: `mesh' was not declared in this scope > > main.cpp:53: error: `velocity' was not declared in this scope > > main.cpp:54: error: `velocity' was not declared in this scope > > main.cpp:57: error: `mesh' was not declared in this scope > > main.cpp:57: error: ISO C++ forbids declaration of `assemble' with no type > > main.cpp:57: error: `int dolfin::FEM::assemble' is not a static member of > ` > > class dolfin::FEM' > > main.cpp:57: error: initializer list being treated as compound expression > > main.cpp:69: error: parse error before `while' > > main.cpp:73: error: `mesh' was not declared in this scope > > main.cpp:73: error: ISO C++ forbids declaration of `applyBC' with no type > > main.cpp:73: error: `int dolfin::FEM::applyBC' is not a static member of > `class > > dolfin::FEM' > > main.cpp:73: error: initializer list being treated as compound expression > > main.cpp:76: error: syntax error before `.' token > > main.cpp:79: error: syntax error before `<<' token > > main.cpp:82: error: ISO C++ forbids declaration of `p' with no type > > main.cpp:82: error: conflicting types for `int p' > > main.cpp:68: error: previous declaration as `dolfin::Progress p' > > main.cpp:85: error: syntax error before `+=' token > > main.cpp:86: error: ISO C++ forbids declaration of `U0' with no type > > main.cpp:86: error: conflicting types for `int U0' > > main.cpp:49: error: previous declaration as `dolfin::Function U0' > > main.cpp:87: error: parse error before `}' token > > main.cpp: In function `int main()': > > main.cpp:93: error: parse error before `:' token > > main.cpp:101: error: return-statement with no value, in function declared > with > > a non-void return type > > main.cpp: At global scope: > > main.cpp:105: error: parse error before `if' > > main.cpp:118: error: ISO C++ forbids declaration of `bc' with no type > > main.cpp:118: error: redefinition of `int bc' > > main.cpp:31: error: `int bc' previously declared here > > main.cpp:122: error: conflicting types for `dolfin::Function f' > > main.cpp:40: error: previous declaration as `int f' > > main.cpp:123: error: conflicting types for `dolfin::Stokes::BilinearForm > a' > > main.cpp:53: error: previous declaration as ` > > dolfin::ConvectionDiffusion::BilinearForm a' > > main.cpp:124: error: conflicting types for `dolfin::Stokes::LinearForm L' > > main.cpp:54: error: previous declaration as ` > > dolfin::ConvectionDiffusion::LinearForm L' > > main.cpp:125: error: invalid conversion from `int' to `dolfin::PDE::Type' > > main.cpp:125: error: initializing argument 4 of ` > > dolfin::PDE::PDE(dolfin::BilinearForm&, dolfin::LinearForm&, > dolfin::Mesh&, > > dolfin::PDE::Type)' > > main.cpp:130: error: syntax error before `.' token > > main.cpp:135: error: syntax error before `<<' token > > main.cpp:136: error: syntax error before `<<' token > > main.cpp:139: error: ISO C++ forbids declaration of > `solveConvectionDiffusion' > > with no type > > main.cpp:139: error: `int solveConvectionDiffusion' redeclared as > different > > kind of symbol > > main.cpp:20: error: previous declaration of `void > > solveConvectionDiffusion(dolfin::Mesh&, dolfin::Function&)' > > main.cpp:139: error: initializer list being treated as compound expression > > main.cpp:139: error: cannot convert `dolfin::Function' to `int' in > > initialization > > main.cpp:140: error: parse error before `}' token > > main.cpp:124: confused by earlier errors, bailing out > > > > > > N.T.Dung > > > > -- > Anders Logg > Research Assistant Professor > Toyota Technological Institute at Chicago > http://www.tti-c.org/logg/ > > _______________________________________________ > DOLFIN-dev mailing list > DOLFIN-dev@xxxxxxxxxx > http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev > -- Room 645, Section of Construction Mechanics. Faculty of Civil Engineering and Geosciences (Citg). Delft University of Technology (TuDelft). Stevinweg1, P.O.Box 5048, 2600 GA Delft, the Netherlands. Tel: +31(0).1527.85710. Email: n.t.dung@xxxxxxxxxxxxxxx.
Thread Previous • Date Previous • Date Next • Thread Next |