[Insight-developers] Remaining VC++ errors

Miller, James V (CRD) millerjv@crd.ge.com
Mon, 26 Feb 2001 12:41:27 -0500


Josh,

I have been looking at the remaining errors under VC++ (thanks Brad for fixing the internal compiler
error). This is what I have found about the remaining errors.

1. Subclasses of NeighborhoodOperator were defining a typedef called NeighborhoodOperator.  VC++ does
not like this.  I added a typedef Superclass and referenced that in the Print method.  I left the
original typdef intact.  You can either decide to name it something else or remove it altogther.

2. itkAnisotropicDiffusionImageFilter was having some problems using typedefs defined within the
template parameter as another template parameter.  I changed this code to use ImageTraits, which
seems to get around this compiler limitation.

3. A number of errors were generated due to comparisons on an iterator with an iterator defined as

const  TIterator it_end = it.End();

used in a loop like

for (it = it.Begin(); it < it_end; ++it)

I think the declaration code calls the copy constructor for the iterator, but the only copy
constructor is the default implementation.  I don't think it calls operator=. The compile error was
in trying to use operator<.  Instead of using NeighborIterator::operator<, it tried to use
valarray::operator<.  

I change this code  to look like

for (it = it.Begin(); !it.IsAtEnd(); ++it)

Please check these changes to see if they are still consistent with your goals.

I am running a build/test now and will check in these changes latter today.

Jim




Jim Miller
_____________________________________
Computer Graphics & Systems Program
GE Corporate Research & Development
Bldg. KW, Room C218B
P.O. Box 8, Schenectady NY 12301

millerjv@crd.ge.com <mailto:millerjv@crd.ge.com> 
(518) 387-4005, Dial Comm: 8*833-4005, 
Cell: (518) 505-7065, Fax: (518) 387-6981

 <<James Miller (E-mail).vcf>> 

begin 600 James Miller (E-mail).vcf
M0D5'24XZ5D-!4D0-"E9%4E-)3TXZ,BXQ#0I..DUI;&QE<CM*86UE<PT*1DXZ
M2F%M97,@36EL;&5R("A%+6UA:6PI#0I/4D<Z1T4@0V]R<&]R871E(%(F1#M%
M4TP-"E1%3#M73U)+.U9/24-%.B@U,3@I(#,X-RTT,#`U#0I414P[5T]22SM6
M3TE#13HJ.#,S+30P,#4-"E1%3#M73U)+.T9!6#HH-3$X*2`S.#<M-CDX,0T*
M0412.U=/4DL[14Y#3T1)3D<]455/5$5$+5!224Y404),13H[0V]M<'5T97(@
M1W)A<&AI8W,@)B!3>7-T96US(%!R;V=R86T[0DQ$1R!+5RP@4DT@0S(Q.$(]
M,$0],$%03R!";W@@.#M38VAE;F5C/0T*=&%D>3M.63LQ,C,P,3M5;FET960@
M4W1A=&5S(&]F($%M97)I8V$-"DQ!0D5,.U=/4DL[14Y#3T1)3D<]455/5$5$
M+5!224Y404),13I#;VUP=71E<B!'<F%P:&EC<R`F(%-Y<W1E;7,@4')O9W)A
M;3TP1#TP04),1$<@2U<L(%)-($,R,3A"/3!$/3!!4$\@0F]X(#@],$0]#0H]
M,$%38VAE;F5C=&%D>2P@3ED@,3(S,#$],$0],$%5;FET960@4W1A=&5S(&]F
M($%M97)I8V$-"D5-04E,.U!2148[24Y415).150Z;6EL;&5R:G9`8W)D+F=E
G+F-O;0T*4D56.C(P,#`P,3(X5#$V,C8U-EH-"D5.1#I60T%21`T*
`
end