dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #02197
Re: make demo
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/
Follow ups
References