compiler error messages

441
Compiler Messages COMPILER ERRORS ....................................................................................................23 cc0001 ......................................................................................................................................... 23 cc0002 ......................................................................................................................................... 23 cc0003 ......................................................................................................................................... 23 cc0004 ......................................................................................................................................... 24 cc0005 ......................................................................................................................................... 24 cc0006 ......................................................................................................................................... 25 cc0007 ......................................................................................................................................... 25 cc0008 ......................................................................................................................................... 26 cc0010 ......................................................................................................................................... 26 cc0013 ......................................................................................................................................... 27 cc0014 ......................................................................................................................................... 27 cc0016 ......................................................................................................................................... 28 cc0017 ......................................................................................................................................... 28 cc0018 ......................................................................................................................................... 29 cc0019 ......................................................................................................................................... 29 cc0020 ......................................................................................................................................... 29 cc0022 ......................................................................................................................................... 30 cc0023 ......................................................................................................................................... 30 cc0024 ......................................................................................................................................... 31 cc0025 ......................................................................................................................................... 31 cc0026 ......................................................................................................................................... 31 cc0027 ......................................................................................................................................... 32 cc0028 ......................................................................................................................................... 32 cc0029 ......................................................................................................................................... 33 cc0030 ......................................................................................................................................... 33 cc0031 ......................................................................................................................................... 34 cc0032 ......................................................................................................................................... 34 cc0033 ......................................................................................................................................... 35 cc0034 ......................................................................................................................................... 35 cc0035 ......................................................................................................................................... 36 cc0036 ......................................................................................................................................... 36 a

Upload: szolo

Post on 29-Dec-2015

334 views

Category:

Documents


9 download

DESCRIPTION

Compiler C Assembly Generic

TRANSCRIPT

Page 1: Compiler Error Messages

Compiler Messages

COMPILER ERRORS....................................................................................................23

cc0001.........................................................................................................................................23 cc0002.........................................................................................................................................23 cc0003.........................................................................................................................................23 cc0004.........................................................................................................................................24 cc0005.........................................................................................................................................24 cc0006.........................................................................................................................................25 cc0007.........................................................................................................................................25 cc0008.........................................................................................................................................26 cc0010.........................................................................................................................................26 cc0013.........................................................................................................................................27 cc0014.........................................................................................................................................27 cc0016.........................................................................................................................................28 cc0017.........................................................................................................................................28 cc0018.........................................................................................................................................29 cc0019.........................................................................................................................................29 cc0020.........................................................................................................................................29 cc0022.........................................................................................................................................30 cc0023.........................................................................................................................................30 cc0024.........................................................................................................................................31 cc0025.........................................................................................................................................31 cc0026.........................................................................................................................................31 cc0027.........................................................................................................................................32 cc0028.........................................................................................................................................32 cc0029.........................................................................................................................................33 cc0030.........................................................................................................................................33 cc0031.........................................................................................................................................34 cc0032.........................................................................................................................................34 cc0033.........................................................................................................................................35 cc0034.........................................................................................................................................35 cc0035.........................................................................................................................................36 cc0036.........................................................................................................................................36

a

Page 2: Compiler Error Messages

cc0037.........................................................................................................................................37 cc0038.........................................................................................................................................37 cc0040.........................................................................................................................................38 cc0041.........................................................................................................................................38 cc0042.........................................................................................................................................38 cc0044.........................................................................................................................................39 cc0045.........................................................................................................................................40 cc0046.........................................................................................................................................40 cc0049.........................................................................................................................................40 cc0050.........................................................................................................................................41 cc0051.........................................................................................................................................41 cc0052.........................................................................................................................................42 cc0053.........................................................................................................................................42 cc0054.........................................................................................................................................42 cc0055.........................................................................................................................................43 cc0056.........................................................................................................................................43 cc0057.........................................................................................................................................44 cc0058.........................................................................................................................................44 cc0059.........................................................................................................................................45 cc0060.........................................................................................................................................45 cc0065.........................................................................................................................................46 cc0066.........................................................................................................................................46 cc0067.........................................................................................................................................46 cc0069.........................................................................................................................................47 cc0070.........................................................................................................................................47 cc0071.........................................................................................................................................48 cc0075.........................................................................................................................................48 cc0077.........................................................................................................................................49 cc0078.........................................................................................................................................50 cc0079.........................................................................................................................................50 cc0080.........................................................................................................................................51 cc0081.........................................................................................................................................51 cc0083.........................................................................................................................................52 cc0084.........................................................................................................................................52 cc0085.........................................................................................................................................52

2

Page 3: Compiler Error Messages

cc0086.........................................................................................................................................53 cc0088.........................................................................................................................................53 cc0089.........................................................................................................................................54 cc0090.........................................................................................................................................54 cc0091.........................................................................................................................................55 cc0092.........................................................................................................................................55 cc0093.........................................................................................................................................55 cc0094.........................................................................................................................................56 cc0095.........................................................................................................................................57 cc0096.........................................................................................................................................57 cc0097.........................................................................................................................................57 cc0098.........................................................................................................................................58 cc0100.........................................................................................................................................58 cc0101.........................................................................................................................................59 cc0102.........................................................................................................................................59 cc0103.........................................................................................................................................59 cc0104.........................................................................................................................................60 cc0105.........................................................................................................................................60 cc0106.........................................................................................................................................61 cc0107.........................................................................................................................................61 cc0109.........................................................................................................................................62 cc0110.........................................................................................................................................62 cc0112.........................................................................................................................................63 cc0114.........................................................................................................................................63 cc0115.........................................................................................................................................64 cc0116.........................................................................................................................................65 cc0117.........................................................................................................................................65 cc0118.........................................................................................................................................66 cc0119.........................................................................................................................................66 cc0120.........................................................................................................................................67 cc0121.........................................................................................................................................67 cc0122.........................................................................................................................................68 cc0123.........................................................................................................................................68 cc0124.........................................................................................................................................69 cc0125.........................................................................................................................................70

3

Page 4: Compiler Error Messages

cc0126.........................................................................................................................................70 cc0127.........................................................................................................................................71 cc0129.........................................................................................................................................72 cc0130.........................................................................................................................................73 cc0131.........................................................................................................................................73 cc0132.........................................................................................................................................74 cc0133.........................................................................................................................................74 cc0134.........................................................................................................................................75 cc0135.........................................................................................................................................75 cc0136.........................................................................................................................................76 cc0137.........................................................................................................................................77 cc0139.........................................................................................................................................77 cc0140.........................................................................................................................................78 cc0141.........................................................................................................................................78 cc0142.........................................................................................................................................79 cc0143.........................................................................................................................................79 cc0144.........................................................................................................................................80 cc0145.........................................................................................................................................80 cc0146.........................................................................................................................................81 cc0147.........................................................................................................................................81 cc0148.........................................................................................................................................81 cc0149.........................................................................................................................................82 cc0153.........................................................................................................................................82 cc0154.........................................................................................................................................83 cc0157.........................................................................................................................................83 cc0158.........................................................................................................................................84 cc0159.........................................................................................................................................84 cc0160.........................................................................................................................................85 cc0163.........................................................................................................................................85 cc0164.........................................................................................................................................86 cc0165.........................................................................................................................................86 cc0166.........................................................................................................................................87 cc0167.........................................................................................................................................87 cc0168.........................................................................................................................................87 cc0169.........................................................................................................................................88

4

Page 5: Compiler Error Messages

cc0170.........................................................................................................................................88 cc0171.........................................................................................................................................89 cc0172.........................................................................................................................................89 cc0174.........................................................................................................................................90 cc0180.........................................................................................................................................91 cc0181.........................................................................................................................................91 cc0182.........................................................................................................................................92 cc0183.........................................................................................................................................92 cc0184.........................................................................................................................................93 cc0189.........................................................................................................................................93 cc0193.........................................................................................................................................94 cc0194.........................................................................................................................................94 cc0219.........................................................................................................................................94 cc0220.........................................................................................................................................95 cc0223.........................................................................................................................................95 cc0235.........................................................................................................................................96 cc0236.........................................................................................................................................96 cc0237.........................................................................................................................................97 cc0238.........................................................................................................................................97 cc0239.........................................................................................................................................98 cc0240.........................................................................................................................................98 cc0241.........................................................................................................................................99 cc0242.........................................................................................................................................99 cc0243.......................................................................................................................................100 cc0244.......................................................................................................................................101 cc0245.......................................................................................................................................101 cc0246.......................................................................................................................................102 cc0247.......................................................................................................................................102 cc0248.......................................................................................................................................103 cc0249.......................................................................................................................................104 cc0250.......................................................................................................................................104 cc0251.......................................................................................................................................104 cc0252.......................................................................................................................................105 cc0253.......................................................................................................................................105 cc0254.......................................................................................................................................106

5

Page 6: Compiler Error Messages

cc0255.......................................................................................................................................106 cc0256.......................................................................................................................................107 cc0257.......................................................................................................................................108 cc0258.......................................................................................................................................108 cc0259.......................................................................................................................................108 cc0261.......................................................................................................................................109 cc0262.......................................................................................................................................110 cc0263.......................................................................................................................................110 cc0264.......................................................................................................................................110 cc0265.......................................................................................................................................111 cc0266.......................................................................................................................................111 cc0268.......................................................................................................................................112 cc0269.......................................................................................................................................113 cc0274.......................................................................................................................................113 cc0276.......................................................................................................................................113 cc0277.......................................................................................................................................114 cc0278.......................................................................................................................................115 cc0279.......................................................................................................................................115 cc0280.......................................................................................................................................116 cc0281.......................................................................................................................................116 cc0282.......................................................................................................................................117 cc0283.......................................................................................................................................117 cc0284.......................................................................................................................................118 cc0285.......................................................................................................................................118 cc0286.......................................................................................................................................119 cc0287.......................................................................................................................................119 cc0288.......................................................................................................................................120 cc0289.......................................................................................................................................121 cc0290.......................................................................................................................................121 cc0291.......................................................................................................................................122 cc0292.......................................................................................................................................122 cc0293.......................................................................................................................................123 cc0294.......................................................................................................................................124 cc0296.......................................................................................................................................124 cc0297.......................................................................................................................................125

6

Page 7: Compiler Error Messages

cc0299.......................................................................................................................................125 cc0300.......................................................................................................................................126 cc0302.......................................................................................................................................126 cc0304.......................................................................................................................................127 cc0305.......................................................................................................................................127 cc0306.......................................................................................................................................128 cc0307.......................................................................................................................................128 cc0308.......................................................................................................................................129 cc0309.......................................................................................................................................129 cc0310.......................................................................................................................................130 cc0311.......................................................................................................................................130 cc0312.......................................................................................................................................131 cc0313.......................................................................................................................................132 cc0314.......................................................................................................................................132 cc0315.......................................................................................................................................133 cc0316.......................................................................................................................................133 cc0317.......................................................................................................................................134 cc0318.......................................................................................................................................134 cc0319.......................................................................................................................................135 cc0320.......................................................................................................................................135 cc0321.......................................................................................................................................136 cc0322.......................................................................................................................................136 cc0323.......................................................................................................................................137 cc0324.......................................................................................................................................137 cc0325.......................................................................................................................................138 cc0326.......................................................................................................................................138 cc0327.......................................................................................................................................139 cc0328.......................................................................................................................................140 cc0329.......................................................................................................................................140 cc0330.......................................................................................................................................141 cc0334.......................................................................................................................................141 cc0335.......................................................................................................................................142 cc0336.......................................................................................................................................142 cc0337.......................................................................................................................................143 cc0338.......................................................................................................................................143

7

Page 8: Compiler Error Messages

cc0339.......................................................................................................................................144 cc0340.......................................................................................................................................144 cc0341.......................................................................................................................................145 cc0342.......................................................................................................................................145 cc0343.......................................................................................................................................146 cc0344.......................................................................................................................................146 cc0345.......................................................................................................................................147 cc0347.......................................................................................................................................147 cc0348.......................................................................................................................................148 cc0349.......................................................................................................................................149 cc0350.......................................................................................................................................149 cc0351.......................................................................................................................................150 cc0352.......................................................................................................................................150 cc0353.......................................................................................................................................151 cc0354.......................................................................................................................................151 cc0357.......................................................................................................................................152 cc0359.......................................................................................................................................152 cc0360.......................................................................................................................................153 cc0363.......................................................................................................................................153 cc0364.......................................................................................................................................154 cc0365.......................................................................................................................................154 cc0366.......................................................................................................................................155 cc0367.......................................................................................................................................155 cc0369.......................................................................................................................................156 cc0371.......................................................................................................................................156 cc0372.......................................................................................................................................157 cc0377.......................................................................................................................................157 cc0378.......................................................................................................................................158 cc0380.......................................................................................................................................158 cc0381.......................................................................................................................................158 cc0382.......................................................................................................................................159 cc0384.......................................................................................................................................159 cc0386.......................................................................................................................................160 cc0388.......................................................................................................................................161 cc0389.......................................................................................................................................161

8

Page 9: Compiler Error Messages

cc0390.......................................................................................................................................162 cc0391.......................................................................................................................................163 cc0392.......................................................................................................................................163 cc0393.......................................................................................................................................164 cc0394.......................................................................................................................................164 cc0397.......................................................................................................................................165 cc0399.......................................................................................................................................166 cc0400.......................................................................................................................................166 cc0401.......................................................................................................................................167 cc0403.......................................................................................................................................167 cc0404.......................................................................................................................................168 cc0405.......................................................................................................................................168 cc0406.......................................................................................................................................169 cc0407.......................................................................................................................................169 cc0408.......................................................................................................................................170 cc0409.......................................................................................................................................171 cc0410.......................................................................................................................................171 cc0411.......................................................................................................................................172 cc0412.......................................................................................................................................172 cc0413.......................................................................................................................................173 cc0415.......................................................................................................................................173 cc0416.......................................................................................................................................174 cc0417.......................................................................................................................................175 cc0418.......................................................................................................................................175 cc0424.......................................................................................................................................176 cc0425.......................................................................................................................................176 cc0427.......................................................................................................................................177 cc0429.......................................................................................................................................177 cc0432.......................................................................................................................................178 cc0433.......................................................................................................................................178 cc0434.......................................................................................................................................179 cc0435.......................................................................................................................................179 cc0436.......................................................................................................................................180 cc0437.......................................................................................................................................180 cc0438.......................................................................................................................................181

9

Page 10: Compiler Error Messages

cc0439.......................................................................................................................................182 cc0440.......................................................................................................................................182 cc0441.......................................................................................................................................183 cc0442.......................................................................................................................................183 cc0443.......................................................................................................................................184 cc0445.......................................................................................................................................184 cc0450.......................................................................................................................................185 cc0451.......................................................................................................................................186 cc0452.......................................................................................................................................186 cc0456.......................................................................................................................................187 cc0457.......................................................................................................................................187 cc0458.......................................................................................................................................188 cc0459.......................................................................................................................................188 cc0463.......................................................................................................................................189 cc0464.......................................................................................................................................189 cc0466.......................................................................................................................................190 cc0467.......................................................................................................................................190 cc0468.......................................................................................................................................191 cc0469.......................................................................................................................................191 cc0470.......................................................................................................................................192 cc0471.......................................................................................................................................192 cc0472.......................................................................................................................................193 cc0475.......................................................................................................................................193 cc0476.......................................................................................................................................194 cc0479.......................................................................................................................................194 cc0481.......................................................................................................................................195 cc0484.......................................................................................................................................195 cc0485.......................................................................................................................................196 cc0487.......................................................................................................................................196 cc0489.......................................................................................................................................197 cc0493.......................................................................................................................................197 cc0496.......................................................................................................................................198 cc0498.......................................................................................................................................199 cc0500.......................................................................................................................................199 cc0501.......................................................................................................................................200

10

Page 11: Compiler Error Messages

cc0502.......................................................................................................................................200 cc0503.......................................................................................................................................201 cc0504.......................................................................................................................................201 cc0505.......................................................................................................................................202 cc0506.......................................................................................................................................202 cc0507.......................................................................................................................................203 cc0508.......................................................................................................................................203 cc0510.......................................................................................................................................204 cc0511.......................................................................................................................................204 cc0512.......................................................................................................................................205 cc0513.......................................................................................................................................205 cc0515.......................................................................................................................................206 cc0516.......................................................................................................................................206 cc0517.......................................................................................................................................207 cc0518.......................................................................................................................................207 cc0519.......................................................................................................................................208 cc0520.......................................................................................................................................208 cc0540.......................................................................................................................................209 cc0546.......................................................................................................................................209 cc0548.......................................................................................................................................210 cc0550.......................................................................................................................................211 cc0551.......................................................................................................................................211 cc0555.......................................................................................................................................212 cc0556.......................................................................................................................................213 cc0558.......................................................................................................................................213 cc0559.......................................................................................................................................214 cc0560.......................................................................................................................................214 cc0598.......................................................................................................................................215 cc0601.......................................................................................................................................215 cc0603.......................................................................................................................................216 cc0604.......................................................................................................................................216 cc0605.......................................................................................................................................217 cc0606.......................................................................................................................................217 cc0607.......................................................................................................................................218 cc0609.......................................................................................................................................218

11

Page 12: Compiler Error Messages

cc0611.......................................................................................................................................219 cc0612.......................................................................................................................................220 cc0615.......................................................................................................................................220 cc0616.......................................................................................................................................220 cc0624.......................................................................................................................................221 cc0631.......................................................................................................................................222 cc0643.......................................................................................................................................222 cc0644.......................................................................................................................................222 cc0656.......................................................................................................................................223 cc0658.......................................................................................................................................224 cc0660.......................................................................................................................................224 cc0661.......................................................................................................................................224 cc0663.......................................................................................................................................225 cc0664.......................................................................................................................................225 cc0666.......................................................................................................................................226 cc0668.......................................................................................................................................226 cc0672.......................................................................................................................................226 cc0673.......................................................................................................................................227 cc0674.......................................................................................................................................228 cc0678.......................................................................................................................................228 cc0679.......................................................................................................................................229 cc0682.......................................................................................................................................229 cc0691.......................................................................................................................................230 cc0692.......................................................................................................................................230 cc0693.......................................................................................................................................231 cc0694.......................................................................................................................................231 cc0695.......................................................................................................................................232 cc0696.......................................................................................................................................232 cc0697.......................................................................................................................................233 cc0698.......................................................................................................................................233 cc0701.......................................................................................................................................234 cc0702.......................................................................................................................................235 cc0703.......................................................................................................................................235 cc0704.......................................................................................................................................236 cc0705.......................................................................................................................................236

12

Page 13: Compiler Error Messages

cc0706.......................................................................................................................................237 cc0708.......................................................................................................................................237 cc0709.......................................................................................................................................238 cc0711.......................................................................................................................................238 cc0713.......................................................................................................................................239 cc0714.......................................................................................................................................239 cc0716.......................................................................................................................................239 cc0717.......................................................................................................................................240 cc0718.......................................................................................................................................240 cc0719.......................................................................................................................................241 cc0724.......................................................................................................................................241 cc0725.......................................................................................................................................242 cc0727.......................................................................................................................................242 cc0728.......................................................................................................................................243 cc0731.......................................................................................................................................243 cc0732.......................................................................................................................................244 cc0733.......................................................................................................................................245 cc0734.......................................................................................................................................245 cc0735.......................................................................................................................................246 cc0738.......................................................................................................................................246 cc0742.......................................................................................................................................247 cc0744.......................................................................................................................................247 cc0745.......................................................................................................................................248 cc0746.......................................................................................................................................248 cc0747.......................................................................................................................................249 cc0748.......................................................................................................................................249 cc0749.......................................................................................................................................250 cc0751.......................................................................................................................................250 cc0752.......................................................................................................................................250 cc0753.......................................................................................................................................251 cc0754.......................................................................................................................................252 cc0755.......................................................................................................................................252 cc0756.......................................................................................................................................253 cc0757.......................................................................................................................................253 cc0758.......................................................................................................................................254

13

Page 14: Compiler Error Messages

cc0759.......................................................................................................................................255 cc0760.......................................................................................................................................255 cc0761.......................................................................................................................................256 cc0769.......................................................................................................................................256 cc0771.......................................................................................................................................257 cc0772.......................................................................................................................................257 cc0774.......................................................................................................................................258 cc0775.......................................................................................................................................258 cc0777.......................................................................................................................................259 cc0779.......................................................................................................................................259 cc0782.......................................................................................................................................260 cc0784.......................................................................................................................................260 cc0787.......................................................................................................................................261 cc0788.......................................................................................................................................261 cc0790.......................................................................................................................................262 cc0791.......................................................................................................................................263 cc0792.......................................................................................................................................263 cc0793.......................................................................................................................................264 cc0794.......................................................................................................................................264 cc0800.......................................................................................................................................265 cc0801.......................................................................................................................................265 cc0802.......................................................................................................................................266 cc0803.......................................................................................................................................267 cc0804.......................................................................................................................................267 cc0810.......................................................................................................................................268 cc0811.......................................................................................................................................268 cc0812.......................................................................................................................................269 cc0815.......................................................................................................................................269 cc0816.......................................................................................................................................270 cc0817.......................................................................................................................................271 cc0818.......................................................................................................................................271 cc0819.......................................................................................................................................272 cc0821.......................................................................................................................................272 cc0822.......................................................................................................................................273 cc0824.......................................................................................................................................273

14

Page 15: Compiler Error Messages

cc0825.......................................................................................................................................274 cc0827.......................................................................................................................................274 cc0828.......................................................................................................................................275 cc0832.......................................................................................................................................275 cc0833.......................................................................................................................................276 cc0834.......................................................................................................................................276 cc0835.......................................................................................................................................277 cc0840.......................................................................................................................................277 cc0841.......................................................................................................................................278 cc0842.......................................................................................................................................278 cc0843.......................................................................................................................................279 cc0844.......................................................................................................................................279 cc0845.......................................................................................................................................280 cc0846.......................................................................................................................................280 cc0847.......................................................................................................................................281 cc0848.......................................................................................................................................281 cc0849.......................................................................................................................................282 cc0850.......................................................................................................................................283 cc0851.......................................................................................................................................283 cc0852.......................................................................................................................................283 cc0854.......................................................................................................................................284 cc0855.......................................................................................................................................284 cc0857.......................................................................................................................................285 cc0858.......................................................................................................................................286 cc0859.......................................................................................................................................286 cc0861.......................................................................................................................................287 cc0862.......................................................................................................................................288 cc0863.......................................................................................................................................288 cc0864.......................................................................................................................................289 cc0865.......................................................................................................................................289 cc0866.......................................................................................................................................290 cc0868.......................................................................................................................................290 cc0869.......................................................................................................................................291 cc0871.......................................................................................................................................291 cc0872.......................................................................................................................................291

15

Page 16: Compiler Error Messages

cc0873.......................................................................................................................................292 cc0884.......................................................................................................................................292 cc0885.......................................................................................................................................293 cc0886.......................................................................................................................................293 cc0887.......................................................................................................................................293 cc0888.......................................................................................................................................294 cc0890.......................................................................................................................................294 cc0891.......................................................................................................................................295 cc0892.......................................................................................................................................295 cc0893.......................................................................................................................................296 cc0894.......................................................................................................................................296 cc0896.......................................................................................................................................296 cc0898.......................................................................................................................................297 cc0901.......................................................................................................................................297 cc0905.......................................................................................................................................298 cc0906.......................................................................................................................................299 cc0907.......................................................................................................................................299 cc0908.......................................................................................................................................300 cc0909.......................................................................................................................................300 cc0910.......................................................................................................................................300 cc0911.......................................................................................................................................301 cc0913.......................................................................................................................................301 cc0914.......................................................................................................................................302 cc0915.......................................................................................................................................302 cc0916.......................................................................................................................................303 cc0919.......................................................................................................................................303 cc0920.......................................................................................................................................304 cc0925.......................................................................................................................................304 cc0926.......................................................................................................................................305 cc0928.......................................................................................................................................305 cc0929.......................................................................................................................................305 cc0930.......................................................................................................................................306 cc0942.......................................................................................................................................306 cc0979.......................................................................................................................................306 cc1086.......................................................................................................................................307

16

Page 17: Compiler Error Messages

cc1097.......................................................................................................................................307 cc1100.......................................................................................................................................308 cc1101.......................................................................................................................................308 cc1102.......................................................................................................................................309 cc1103.......................................................................................................................................309 cc1110.......................................................................................................................................310 cc1112.......................................................................................................................................310 cc1113.......................................................................................................................................311 cc1115.......................................................................................................................................311 cc1117.......................................................................................................................................312 cc1151.......................................................................................................................................312 cc1197.......................................................................................................................................313 cc1200.......................................................................................................................................313 cc1208.......................................................................................................................................314 cc1209.......................................................................................................................................314 cc1211.......................................................................................................................................315 cc1213.......................................................................................................................................315 cc1219.......................................................................................................................................316 cc1230.......................................................................................................................................316 cc1319.......................................................................................................................................317 cc1327.......................................................................................................................................317 cc1343.......................................................................................................................................318 cc1427.......................................................................................................................................318 cc1428.......................................................................................................................................319 cc1468.......................................................................................................................................319 cc1469.......................................................................................................................................320 cc1471.......................................................................................................................................320 cc1475.......................................................................................................................................321 cc1476.......................................................................................................................................321 cc1477.......................................................................................................................................322 cc1478.......................................................................................................................................322 cc1479.......................................................................................................................................323 cc1480.......................................................................................................................................323 cc1481.......................................................................................................................................324 cc1483.......................................................................................................................................324

17

Page 18: Compiler Error Messages

cc1484.......................................................................................................................................324 cc1485.......................................................................................................................................325 cc1486.......................................................................................................................................325 cc1487.......................................................................................................................................326 cc1488.......................................................................................................................................326 cc1489.......................................................................................................................................326 cc1490.......................................................................................................................................327 cc1491.......................................................................................................................................327 cc1492.......................................................................................................................................327 cc1493.......................................................................................................................................328 cc1494.......................................................................................................................................328 cc1495.......................................................................................................................................329 cc1496.......................................................................................................................................329 cc1634.......................................................................................................................................330 cc1643.......................................................................................................................................330 cc1647.......................................................................................................................................331 cc1648.......................................................................................................................................331 cc1649.......................................................................................................................................332 cc1652.......................................................................................................................................332 cc1668.......................................................................................................................................332 cc1732.......................................................................................................................................333 cc1733.......................................................................................................................................334 cc1742.......................................................................................................................................334 cc1743.......................................................................................................................................335 cc1744.......................................................................................................................................335 cc1747.......................................................................................................................................336 cc1748.......................................................................................................................................336 cc3089.......................................................................................................................................337 cc3150.......................................................................................................................................337

COMPILER REMARKS ..............................................................................................338

cc1123.......................................................................................................................................338 cc1472.......................................................................................................................................338 cc1473.......................................................................................................................................339 cc1474.......................................................................................................................................339

18

Page 19: Compiler Error Messages

cc1736.......................................................................................................................................340

COMPILER WARNINGS ............................................................................................342

cc0009.......................................................................................................................................342 cc0011.......................................................................................................................................343 cc0012.......................................................................................................................................343 cc0021.......................................................................................................................................344 cc0039.......................................................................................................................................344 cc0047.......................................................................................................................................345 cc0061.......................................................................................................................................345 cc0062.......................................................................................................................................346 cc0063.......................................................................................................................................346 cc0064.......................................................................................................................................347 cc0068.......................................................................................................................................347 cc0076.......................................................................................................................................347 cc0082.......................................................................................................................................348 cc0099.......................................................................................................................................348 cc0108.......................................................................................................................................349 cc0111.......................................................................................................................................349 cc0128.......................................................................................................................................350 cc0138.......................................................................................................................................350 cc0161.......................................................................................................................................351 cc0173.......................................................................................................................................351 cc0175.......................................................................................................................................352 cc0177.......................................................................................................................................352 cc0178.......................................................................................................................................353 cc0179.......................................................................................................................................353 cc0185.......................................................................................................................................354 cc0186.......................................................................................................................................354 cc0187.......................................................................................................................................355 cc0188.......................................................................................................................................355 cc0191.......................................................................................................................................356 cc0192.......................................................................................................................................356 cc0221.......................................................................................................................................357 cc0222.......................................................................................................................................357

19

Page 20: Compiler Error Messages

cc0228.......................................................................................................................................358 cc0230.......................................................................................................................................358 cc0231.......................................................................................................................................358 cc0232.......................................................................................................................................359 cc0233.......................................................................................................................................359 cc0234.......................................................................................................................................360 cc0260.......................................................................................................................................360 cc0267.......................................................................................................................................361 cc0301.......................................................................................................................................361 cc0362.......................................................................................................................................362 cc0368.......................................................................................................................................362 cc0370.......................................................................................................................................363 cc0375.......................................................................................................................................363 cc0379.......................................................................................................................................364 cc0387.......................................................................................................................................364 cc0414.......................................................................................................................................365 cc0426.......................................................................................................................................365 cc0428.......................................................................................................................................366 cc0461.......................................................................................................................................366 cc0482.......................................................................................................................................367 cc0494.......................................................................................................................................367 cc0497.......................................................................................................................................368 cc0514.......................................................................................................................................369 cc0549.......................................................................................................................................369 cc0552.......................................................................................................................................369 cc0553.......................................................................................................................................370 cc0554.......................................................................................................................................371 cc0608.......................................................................................................................................371 cc0610.......................................................................................................................................371 cc0617.......................................................................................................................................372 cc0618.......................................................................................................................................373 cc0657.......................................................................................................................................373 cc0676.......................................................................................................................................373 cc0715.......................................................................................................................................374 cc0722.......................................................................................................................................375

20

Page 21: Compiler Error Messages

cc0723.......................................................................................................................................375 cc0729.......................................................................................................................................376 cc0737.......................................................................................................................................376 cc0783.......................................................................................................................................377 cc0830.......................................................................................................................................377 cc0831.......................................................................................................................................377 cc0836.......................................................................................................................................378 cc0837.......................................................................................................................................379 cc0838.......................................................................................................................................379 cc0860.......................................................................................................................................380 cc0867.......................................................................................................................................380 cc0870.......................................................................................................................................381 cc0902.......................................................................................................................................381 cc0940.......................................................................................................................................382 cc0941.......................................................................................................................................382 cc1039.......................................................................................................................................383 cc1041.......................................................................................................................................383 cc1043.......................................................................................................................................384 cc1045.......................................................................................................................................384 cc1073.......................................................................................................................................385 cc1074.......................................................................................................................................385 cc1080.......................................................................................................................................386 cc1114.......................................................................................................................................386 cc1127.......................................................................................................................................387 cc1164.......................................................................................................................................387 cc1268.......................................................................................................................................387 cc1269.......................................................................................................................................388 cc1305.......................................................................................................................................388 cc1310.......................................................................................................................................389 cc1355.......................................................................................................................................389 cc1367.......................................................................................................................................390 cc1368.......................................................................................................................................390 cc1371.......................................................................................................................................391 cc1374.......................................................................................................................................391 cc1440.......................................................................................................................................392

21

Page 22: Compiler Error Messages

cc1441.......................................................................................................................................392 cc1442.......................................................................................................................................393 cc1443.......................................................................................................................................394 cc1444.......................................................................................................................................394 cc1445.......................................................................................................................................395 cc1446.......................................................................................................................................396 cc1447.......................................................................................................................................397 cc1448.......................................................................................................................................397 cc1467.......................................................................................................................................398 cc1470.......................................................................................................................................399 cc1482.......................................................................................................................................399 cc1633.......................................................................................................................................400 cc1635.......................................................................................................................................400 cc1638.......................................................................................................................................401 cc1639.......................................................................................................................................402 cc1640.......................................................................................................................................402 cc1644.......................................................................................................................................402 cc1645.......................................................................................................................................403 cc1646.......................................................................................................................................404 cc1651.......................................................................................................................................404 cc1654.......................................................................................................................................405 cc1658.......................................................................................................................................405 cc1661.......................................................................................................................................406 cc1665.......................................................................................................................................406 cc1667.......................................................................................................................................407 cc1734.......................................................................................................................................407 cc1737.......................................................................................................................................408 cc1745.......................................................................................................................................410 cc1746.......................................................................................................................................411 cc1749.......................................................................................................................................412 cc3146.......................................................................................................................................413

22

Page 23: Compiler Error Messages

Compiler Errors

cc0001 Compiler Error: last line of file ends without a newline

Description

The final line of a source file does not end with a newline character.

Severity

Error, in strict ANSI mode

Warning, otherwise

Recovery

The compiler automatically inserts the missing newline character and continues.

Example

In the following example, the ^ character represents the newline character. void f(void)^ {^ }

How to Fix

Append a newline character to the final line of the corresponding source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" (5.1.1.2.2)

ISO/IEC 14882:1998 "Programming Languages - C++" (2.1.2)

cc0002 Compiler Error: last line of file ends with a backslash

Description The final line of a source file ends with a backslash character.

Severity Error

Recovery

The compiler automatically ignores the trailing backslash character and continues.

Example void f(void) { }\

How to Fix

Remove the trailing backslash character from the final line of the corresponding source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" (5.1.1.2.2)

ISO/IEC 14882:1998 "Programming Languages - C++" (2.1.2)

cc0003

23

Page 24: Compiler Error Messages

Compiler Error: #include file "xxxx" includes itself

Description A header file has included itself more than once. In rare cases this practice can be desirable in order to perform some clever tricks with the preprocessor. Including itself more than eight times, however, probably indicates recursion.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example

The two files in this example are: test.c and test.h. test.h: #include "test.h" test.c: #include "test.h"

How to Fix Prevent the corresponding header file from including itself.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" (5.2.4.1)

ISO/IEC 14882:1998 "Programming Languages - C++" (B.2)

cc0004 Compiler Error: out of memory

Description

The compiler requires more system memory to perform the current compilation than is currently available in the compilation environment.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error depends on the compilation environment. The error cannot normally be reproduced with only an extract of a specific source file.

How to Fix

You can receive this error message when trying to compile a very large source file. In this case, you can allocate more system memory for the compilation process or you can split the source file into multiple smaller source files. This message can also indicate an internal error within the compiler itself due to recursion, which should be reported.

Related Information

See also your operating system's documentation about how to increase the amount of system memory that can be made available for specific processes.

cc0005 Compiler Error: could not open source file "xxxx"

24

Page 25: Compiler Error Messages

Description

The compiler could not read the contents of a source file or a header file.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

In this example, the header file test.h does not exist in the current directory or in any of the directories in the include file search path. #include "test.h"

How to Fix

Ensure that the compiler is being invoked with the filename of a source file that really does exist, and that all the header files included by that source file exist in the include file search path. If they do not, you must add the directory containing the relevant header file to the include file search path with the -I option. You must also have permission to read from all of these files.

Related Information

See also documentation for the -I option.

cc0006 Compiler Error: comment unclosed at end of file

Description:

A comment remains unclosed at the end of a source file. This description applies only to C-style comments and not C++-style comments (which are terminated at the end of a line).

Severity Error

Recovery The compiler automatically closes the comment and continues.

Example /* this is an unclosed comment *

How to Fix

Ensure that the comment is closed at the proper source file location.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" (5.1.1.2.3)

ISO/IEC 14882:1998 "Programming Languages - C++" (2.1.3)

cc0007 Compiler Error: unrecognized token

Description An illegal character has occurred within the source file. This error occurs only when the offending character is encountered without a character constant, string literal, header filename, or comment. The error generally indicates that the source file has been corrupted in some way.

25

Page 26: Compiler Error Messages

Severity

Error

Recovery

The compiler tries to ignore the illegal character and continues.

Example ð /* the character to the left is illegal in C/C++ source */

How to Fix Remove the offending character, or do one of the following:

If it is intended to be part of a character constant, string literal, or header filename, put it in quotes.

If it is intended to be part of a comment, comment it out.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" (5.2.1)

ISO/IEC 14882:1998 "Programming Languages - C++" (2.2)

cc0008 Compiler Error: missing closing quote

Description

A string literal remains unclosed at the end of a source line.

Severity

Error

Recovery

The compiler automatically closes the string and continues.

Example const char *str = "this is a string;

How to Fix

Ensure that the string is closed at the proper source file location. If the string continues across several lines, place a backslash character at the end of the relevant lines to indicate that the string is to continue at the start of the next line.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" (6.1.4)

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.4)

cc0010 Compiler Error: "#" not expected here

Description

A "#" character appears outside of any preprocessing directive and not at the beginning of a line.

Severity

Error

Recovery The compiler tries to ignore the illegal character and continues.

Example

26

Page 27: Compiler Error Messages

int num = #;

How to Fix Remove the offending character, or ensure that it is associated with a preprocessing directive if that was the original intention.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" (6.1.6)

ISO/IEC 14882:1998 "Programming Languages - C++" (16)

cc0013 Compiler Error: expected a file name

Description

Following the #include directive, the name of a file that can be processed by the implementation is missing.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Examples #include

#include <filename

#include "filename

#include <>

How to Fix

Ensure that the name of the include file used is enclosed correctly within <> or "" characters. If you are using a macro (for example, #include filename) ensure that the preprocessing tokens that the macro represents are syntactically correct.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.2)

cc0014 Compiler Error: extra text after expected end of preprocessing directive

Description The compiler generates this error if the current token is not the end-of-source token that terminates the pragma directive. In strict ANSI mode, the compiler issues an error only if the preprocessing directive is not a pragma.

Severity

Fatal error if:

The extra text appears after the expected end of a pragma preprocessing directive.

In strict ANSI mode, the extra text appears after the expected end of a preprocessing directive that is not a pragma.

Recovery The compiler cannot recover from this error.

27

Page 28: Compiler Error Messages

Example #pragma once again /* "again" is the extra text after the pragma */ /* preprocessing directive causing the error */ #include <stdio.h> the_include_file /* "the_include_file" is */ /* extra text causing the error in strict ANSI mode*/ int main(){}

How to Fix

Remove the extra text after the end of the preprocessing directive.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16)

cc0016 Compiler Error: "xxxx" is not a valid source file name

Description The source file cannot be opened.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that the specified source file name is valid.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0017 Compiler Error: expected a right "]"

Description The right bracket from a declaration is missing.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int an_array[10;

How to Fix

Ensure that a right bracket is used at the proper source file location to match the left one used earlier in the file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.12)

28

Page 29: Compiler Error Messages

cc0018 Compiler Error: expected a ")"

Description

The right or closing parenthesis of a statement or expression is missing.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void Func(int i;

How to Fix Ensure that a right parenthesis is used at the proper source file location to match the left one used earlier in the file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.12)

cc0019 Compiler Error: extra text after expected end of number

Description

The compiler found extra characters after the expected end of a number.

This error is appears when you compile in strict mode by using the -strict command line option or the -pedantic command line option.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example void main(){

int i = 434343a; /* Error: extra char after expected end of number */

i++; /* suppresses warning */

}

How to Fix Remove the extra characters after the expected end of the number.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0020 Compiler Error: identifier "xxxx" is undefined

Description:

The function, variable, or other identifier is undefined.

29

Page 30: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main() { return i; }

How to Fix

Make sure that you properly define identifiers before usage.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.10)

cc0022 Compiler Error: invalid hexadecimal number

Description

An invalid hexadecimal number is used in a source file. Pcc allows "0x" by itself and interprets it as zero.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int i = 0xG;

How to Fix

Use valid hexadecimal numbers.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (A.2)

cc0023 Compiler Error: integer constant is too large

Description

The constant does not fit into the integer kind.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int i = 9999999999;

How to Fix

30

Page 31: Compiler Error Messages

The largest signed int possible to use is 2147483647. The largest unsigned int possible to use is 4294967295. Ensure that all the integer constant used are within the above limits.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.1)

cc0024 Compiler Error: character value is out of range

Description

An invalid octal number is used in a source file.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int i = 009;

How to Fix Use valid octal numbers.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (A.2)

cc0025 Compiler Error: quoted string should contain at least one character

Description A string contains zero characters.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example string anystring; // declaring a string anystring.assign(''); // trying to assign zero characters to it char* D = '' /* another example */

How to Fix

Make sure that zero characters are not assigned to strings.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.4, 21.3.1)

cc0026 Compiler Error: too many characters in character constant

31

Page 32: Compiler Error Messages

Description

The number of characters in the char (character) constant do not fit. This error message is a warning for wide character literals, viewed by the C standard as defined implementation.

Severity

Warning, for wide character literals

Fatal error, otherwise

Recovery If a fatal error is indicated, the compiler cannot recover.

If a warning is indicated, compilation continues after the warning.

Example wchar_t B = L'AB'; /* Warning */ char C = 'BA'; /* Fatal Error */

How to Fix

In C, you create a character constant by enclosing a single character from the representable character set within single quotation marks (' ').

In C++, character constants are one or more members of the source character set enclosed with single quotation marks.

Ensure that the offending character constant fits within the above guidelines.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.2)

cc0027 Compiler Error: character value is out of range

Description The character value used is out of range.

Severity

Error, in strict ANSI mode

Warning, otherwise

Recovery If a non-discretionary error is indicated, the compiler cannot recover.

If a warning is indicated, the compiler truncates the value and continues compilation.

Example char a = '\xfff';

How to Fix Use a value for a character between 0 and 255 inclusive.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0028 Compiler Error: expression must have a constant value

32

Page 33: Compiler Error Messages

Description

A global variable has been initialized with a local variable value.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main() { int a = 2; static int k = a; /* a static variable is allocated when the program */ /* begins and deallocated when the program ends, */ /* therefore it cannot be initialized with the */ /* value of a local variable */ }

How to Fix

Ensure that global variables are not initialized with the values of local variables.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0029 Compiler Error: expected an expression

Description This error occurs under the following circumstances:

The initializer list is empty -- "{ }" (n error in C, but okay in C++).

During a prototype instantiation, default arguments are cached but not rescanned.

The syntax does not permit initialization with a brace enclosed initializer list.

An empty list is not allowed in a placement expression list.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int A[5] = {}; /* Empty initializer list, error in C */

How to Fix If the initializer list is empty and in C mode, ensure that the list is filled.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0030 Compiler Error: floating constant is out of range

33

Page 34: Compiler Error Messages

Description

The constant does not fit into the float kind.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example float f = 3.4028234663852886E+38000F;

How to Fix

The maximum floating value that you can use is 3.4028234663852886E+38F.

The minimum floating value that you can use is 1.1754943508222875E-38F.

Ensure that all the floating constants used are within the above limits.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.3)

cc0031 Compiler Error: expression must have an integral type

Description An expression does not use one of the integral types.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int main() { double num = 1; switch (num) /* num is not declared as one of the integral types, */ /* therefore causing the error */ { case 1: num++; break; case 2: num--; break; } }

How to Fix

Use one of these integral types: char, int, short, long, signed, unsigned, or enum.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4.2, 3.9.1, 5.2.1)

cc0032

34

Page 35: Compiler Error Messages

Compiler Error: expression must have arithmetic type

Description A non-arithmetic type is used for an expression that can only use arithmetic types.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int main(){ int ia[5]; int ip = ia/4;/* error appears here as ia is not of arithmetic type */ }

How to Fix

Ensure that only arithmetic types are used in arithmetic expressions.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.9.1)

cc0033 Compiler Error: expected a line number

Description The line number of a line directive is missing.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example #line /* a line number is missing therefore error */

How to Fix

Ensure that a line number is always present in a #line preprocessing directive.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.4)

cc0034 Compiler Error: invalid line number

Description

This error is caused by one of the following conditions:

The directive has no keyword "line".

The directive has an extra operand at the end.

Zero is specified as a line number.

The line number is either incorrect or too large.

Severity

35

Page 36: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example #line 0 /* zero is not allowed as a line number, therefore error */

How to Fix

Ensure that the line number given is valid.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.4)

cc0035 Compiler Error: #error directive: xxxx

Description Encountering an error directive terminates the compilation.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example #error MyError

How to Fix

Remove the #Error directive.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.5)

cc0036 Compiler Error: the #if for this directive is missing

Description

No corresponding #if directive exists for an #else, #elif, or #endif directive.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example // #if defined SYMBOL // do something #else // do something else #endif

How to Fix

Ensure that any #else, #elif or #endif directives are preceded with the corresponding #if directive appropriately placed in the source file.

36

Page 37: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16)

cc0037 Compiler Error: the #endif for this directive is missing

Description

Not all the #if directives opened in the current source file have been closed.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example #if defined SYMBOL // do something // #endif /* The #endif statement is commented out */

How to Fix

Ensure that all the #if directives opened in the current source file have been closed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16)

cc0038 Compiler Error: directive is not allowed, as an #else has already appeared

Description

An #else has already appeared, and a second #else is not allowed.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #if defined SYMBOL // do something #else // do something else #else // do something else #endif

How to Fix

Use only one #else directive between each pair of #if - #endif directives.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16)

37

Page 38: Compiler Error Messages

cc0040 Compiler Error: expected an identifier

Description

A declaration does not include an identifier.

Severity

Warning, if the declaration is a struct or enum but no identifier is specified

Fatal error, otherwise

Recovery

If a fatal error is indicated, the compiler cannot recover.

If a warning is indicated, compilation continues after the warning.

Example int main() { float = 0; }

How to Fix Ensure that an identifier is always used at the appropriate place in the source.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.10)

cc0041 Compiler Error: expression must have arithmetic or pointer type

Description

The expression used is not an arithmetic or pointer type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int main(){ struct s {int x;} st; while (st) {} /* Error appears here, st must of arithmetic or */ /* pointer type */ }

How to Fix Replace the offending operand with an arithmetic or scalar type operand.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5)

cc0042 Compiler Error: operand types are incompatible ("type" and "type")

Description

38

Page 39: Compiler Error Messages

The two operands used in the expression are incompatible.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class B { }; class D1 : public B { }; class D2 : public B { }; int main() { D1 * d1; D2 * d2; bool x; x ? d1 : d2; /* operands d1 and d2 are incompatible */ }

How to Fix When you use conditional expressions, ensure that the operands used are compatible.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.16)

cc0044 Compiler Error: expression must have a pointer type

Description A type that is not a pointer has been used in an expression that accepts only pointer types.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example typedef struct { int width; int height; } Image; int main() { Image Picture; Image *pImage = &Picture; Picture.width = 10; Picture->width; /* Error as "Picture is not of pointer type" */ }

How to Fix

Ensure that the offending operand is replaced with a pointer type operand.

In the above example, a pointer type operand would be: pImage->width;

39

Page 40: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5)

cc0045 Compiler Error: #undef may not be used on this predefined name

Description

You are trying to undefine an ANSI C predefined macro. The Microsoft compiler issues a warning saying that the #undef is ignored, but it is not.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #undef __FILE__ /*

How to Fix ANSI C predefined macros cannot be undefined. Therefore, the only way to fix this error is to take the offending statement out.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.8)

cc0046 Compiler Error: this predefined name may not be redefined

Description

You are trying to redefine an ANSI C predefined macro.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #define __FILE__ "afile"

How to Fix The macro is predefined, and therefore, it cannot be redefined. The only way to fix this error is to take the offending statement out.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.8)

cc0049 Compiler Error: duplicate macro parameter name

Description

40

Page 41: Compiler Error Messages

A macro parameter name has been used twice within the same macro definition.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example #define add(a,a,c) a + b + c /* "a" /* parameter used twice */

How to Fix

Replace the offending parameter name with one that is not already used.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.3.5)

cc0050 Compiler Error: ## may not be first in a macro definition

Description

The first two characters of a macro definition are "##".

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #define MyMacro ##AA

How to Fix Use a different macro definition.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.3.5)

cc0051 Compiler Error: ## may not be last in a macro definition

Description

The last two characters of a macro definition are "##".

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example #define MyMacro AA##

How to Fix

Use a different macro definition.

Related Information

41

Page 42: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.3.5)

cc0052 Compiler Error: expected a macro parameter name

Description

The "#" character is not followed by a parameter name.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #define foo() #

How to Fix

Ensure that "#" is followed by a macro parameter name.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.3.2)

cc0053 Compiler Error: expected a colon ":"

Description

A colon is missing in the source file.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example c = (a > b) ? a b; /* A colon is missing */ c = (a > b) ? a : b; /* This is correct */

How to Fix

Add a colon where appropriate in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.12, 1.9, 3)

cc0054 Compiler Error: too few arguments in macro invocation

Description At the time the macro was invoked, at least one argument was missing.

Severity Fatal error

42

Page 43: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

Example #include<stdio.h> #define MACRO(i, j) i - j

int main(){ printf("%d\n", MACRO(2)); }

How to Fix

Ensure that the correct number of arguments are passed to the macro when it is invoked.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (1.3.1, 2.1, 16.1, 16.3.3)

cc0055 Compiler Error: too many arguments in macro invocation

Description

At least one too many arguments were passed to a macro when it was invoked.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example #include<stdio.h> #define MACRO(i, j) i - j

int main(){ printf("%d\n", MACRO(2, 2, 2)); }

How to Fix Ensure that the correct number of arguments are passed to the macro when it is invoked.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (1.3.1, 2.1, 16.1, 16.3.3)

cc0056 Compiler Error: operand of sizeof may not be a function

Description

The operand of a sizeof cannot have a function type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

43

Page 44: Compiler Error Messages

void foo(){}; int main(){ int i; i = sizeof(foo); }

How to Fix Ensure that the operand of the sizeof operator is not a function type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.3)

cc0057 Compiler Error: this operator is not allowed in a constant expression

Description

An illegal operator has been used in a constant expression. Operators forbidden in constant expressions are the postfix (++/--), prefix (++/--), typeid, dynamic_cast, new, delete, throw, and comma (,) and assignment (=) operators.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example main() { int i; /* the constant expression below uses the comma and prefix operators, causing two errors */ static int j = 1 ? 0 : (++i, 3); }

How to Fix Restructure your source code to avoid the use of illegal operators within constant expressions.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.19)

cc0058 Compiler Error: this operator is not allowed in a preprocessing expression

Description:

Preprocessing expressions do not allow subscripting, field selection, constants, address indirection.

Severity: Fatal error

Recovery: The compiler cannot recover from this error.

Example #if a[3] /* subscripting not allowed */

44

Page 45: Compiler Error Messages

How to Fix

Ensure that the operations listed above are not used in preprocessing expressions.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.1, 5.3.1, 5.19)

cc0059 Compiler Error: function call is not allowed in a constant expression

Description A function call has appeared within a constant expressions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int foo(){ return 1; } int main() { static int i = foo(); }

How to Fix

Function calls are not allowed in constant expressions. Therefore, either make the expression non-constant or do not use a function call in it.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.19)

cc0060 Compiler Error: this operator is not allowed in an integral constant expression

Description One of the following has been used within an integral constant expression: Subscripting, field selection, address constants, or address indirection.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example struct A { enum { e1 = 1 }; } a; int x[a.e1];

How to Fix

The operations listed above are not allowed in an integral constant expression. Therefore, restructure the source code in an appropriate manner to render such operations redundant. Refer to the C and C++ standards for more information.

Related Information

45

Page 46: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.19)

cc0065 Compiler Error: expected a ";"

Description A semicolon is missing in the source file.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int i /* wrong */ int i; /* correct */

How to Fix Add a semicolon where appropriate in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.12, 3)

cc0066 Compiler Error: enumeration value is out of "int" range

Description

The integer value used within an enum declaration is larger that the maximum value allowed for int.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #include <limits.h> enum { Num = INT_MAX, next }; int main(){ }

How to Fix

Ensure that the value used fits within the allowed range for int (namely, between -2147483648 and 2147483647 inclusive).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.9.1)

cc0067

46

Page 47: Compiler Error Messages

Compiler Error: expected a "}"

Description A right brace (curly bracket) is missing from the source file.

Severity Fatal error

Recovery The compiler cannot recover from this error

Example struct MyStruct{ int i; int j; /* a right curly bracket is missing after the semicolon. */ A_Struct;

How to Fix

Ensure that a right brace (}) is used at the proper source file location to match the left one used earlier in the file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.12)

cc0069 Compiler Error: integer conversion resulted in truncation

Description

The integral type being converted to is not large enough to hold the required value.

Severity

Fatal error

Recovery Compiler issues the diagnostic and compilation continues.

Example In the C/C++ Compiler : SHARC version 6.1.0, all integral types have the same length, 32 bits. Therefore, this error cannot be reproduced with this compiler.

The following would reproduce the error if you use the Blackfin compiler. void main(){

char c = 256L;

}

How to Fix Ensure that the integral type being converted to is large enough to hold the value being forced into it.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0070 Compiler Error: incomplete type is not allowed

Description

47

Page 48: Compiler Error Messages

A declared type is incomplete. It has an identifier but lacks information needed to determine the size of the identifier.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example: int i[]; /* i has an incomplete type */ int i[10] /* now i has a complete type */

How to Fix Declare the same name later in the same scope and complete it.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.9)

cc0071 Compiler Error: operand of sizeof may not be a bit field

Description

You cannot use bit fields as operands to sizeof, except in pcc compatibility mode when the size of the bit field is the size of the type of the bit field (for example, unsigned int).

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example: struct { int i : 1; int j : 2; } MyStr;

void main( void ) { int MyInt = sizeof( MyStr.i ); }

How to Fix

Ensure that bit fields are not used as operands to sizeof.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.3)

cc0075 Compiler Error: operand of "*" must be a pointer

Description

The operand of the "*" is not a pointer.

Severity

48

Page 49: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example #include<stdio.h>

int main() { int MyInt = 10; int *pMyInt; pMyInt = &MyInt; printf( "%d\n", *MyInt ); /* Incorrect as MyInt is not a pointer */ printf( "%d\n", *pMyInt ); /* Correct */ }

How to Fix

Ensure that the operand of "*" is always a pointer.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.1, 5.3.1)

cc0077 Compiler Error: this declaration has no storage class or specifier

Description

If the decl-specifiers are missing for a non-function declaration, an error is issued in all modes.

If the decl-specifiers are missing for a function declaration in C mode, a warning is generated.

If the decl-specifiers are missing for a function declaration in strict C mode, an error is generated.

C++ function declarations are handled separately.

Severity

Error, if decl-specifiers are missing for:

A non-function declaration

A function declaration in strict C mode

Warning, if they are missing for a function declaration in C mode

Recovery

If an error is indicated, the compiler assumes an "int" storage class or type specifier and continues.

If a warning is indicated, the compiler assumes an int as the return type and compilation continues.

Example /* The following declarations are made at file scope */ i; /* non-function declaration without a type specifier - Error */ int i; /* with a type specifier */ foo(); /* function declaration without decl-specifiers */ int foo(); /* with a decl-specifiers */

How to Fix Add a storage class or specifier at the appropriate place in the source code.

49

Page 50: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0078 Compiler Error: a parameter declaration may not have an initializer

Description

A parameter declaration containing an initializer has been encountered. Declarations with parameters are old style C parameter declarations. C++ default arguments, which look like a parameter with an initializer, such as void f(int i = 1), are handled elsewhere.

Severity

Fatal error

Recovery

The compiler treats the empty argument as equal to zero.

Example int f(i) int i = 4; /* Error occurs here */ { return 0; }

int main(){}

How to Fix Use ANSI C style function declarations.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0079 Compiler Error: expected a type specifier

Description

An identifier in a new expression, was probably intended to be a type name. The current identifier is not a type name. By default, the compiler finds anything unexpected that does not appear to be a type specifier.

Severity

Fatal error

Recovery

If the intended type name is an identifier in a new expression, the compiler issues an error and then pretends that the identifier is the type name.

If current identifier is not a type name, the compiler assumes that the undefined identifier was intended to be a type name.

In the last case, the compiler cannot recover from the error.

Example int main() { int x = 1;

50

Page 51: Compiler Error Messages

extern x y; /* in the place of "x" a type identifier expected */ static x *z; /* as above */ }

How to Fix Ensure that a type identifier is inserted at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.5)

cc0080 Compiler Error: a storage class may not be specified here

Description

This error is caused when you specify a storage class as follows:

For a member function

On a condition declaration

For an entity that is not an object or a function

For a member template declaration outside the class definition

On a member template specialization

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <static int i> void f() {} /* Error: a storage class cannot be used on a template

parameter declaration */

void main(){}

How to Fix

Remove the offending storage class declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0081 Compiler Error: more than one storage class may not be specified

Description More than one storage class has been specified.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example auto register int i;

51

Page 52: Compiler Error Messages

How to Fix

Remove one of the specifiers.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.5)

cc0083 Compiler Error: type qualifier is specified more than once

Description Duplicate type qualifiers are specified, or the typedef is already qualified.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example const const int i;

How to Fix

Remove one of the offending type qualifiers.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.9.1, 8)

cc0084 Compiler Error: invalid combination of type specifiers

Description

The combination of type specifiers is invalid, or the basic type has already been specified in some way.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int int i;

How to Fix

Ensure that the combination of type specifiers is correct. Specify only one basic type for each declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.5.2)

cc0085 Compiler Error: invalid storage class for a parameter

52

Page 53: Compiler Error Messages

Description

For parameters, the only allowed storage class specifiers are register and (in C++ only) auto.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void foo( static int );

How to Fix

Replace the invalid storage class specifier in the source file with a valid one.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0086 Compiler Error: invalid storage class for a function

Description

The only valid storage classes of a function are extern or static.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example register void foo(); /* 'register' is an invalid storage class */ /* for a function */

How to Fix Replace the invalid storage class with a valid one in the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0088 Compiler Error: array of functions is not allowed

Description Arrays of functions are treated as illegal.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo[](); /* an array of functions returning an int */

53

Page 54: Compiler Error Messages

How to Fix

Replace the array of functions with an array of pointers to functions, for example: int ( *foo[] ) ();

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0089 Compiler Error: array of void is not allowed

Description

Arrays of void are treated as illegal.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void AnArray[10];

How to Fix

As arrays of void are illegal, use another type specifier, for example: int AnArray[10];

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.4)

cc0090 Compiler Error: function returning function is not allowed

Description A function declarator cannot specify a return type that is a function type.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo()(); /* a function returning a function returning an int */

How to Fix Change the source code so as to be able to use an alternative, legal notation, for example: int (**foo)(); /* a pointer to a pointer to a function */ /* returning an int*/ int (*foo())(); /* a function returning a pointer to a function */ /* returning an int */

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

54

Page 55: Compiler Error Messages

cc0091 Compiler Error: function returning array is not allowed

Description

A function declarator cannot specify a return type that is an array type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo() []; /* a function returning an array of ints */

How to Fix Change the source code in a such a way allowing you to use legal notation, for example: int (*foo())[] /* a function returning a pointer to an array of ints */

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0092 Compiler Error: identifier-list parameters may be used only in a function definition

Description A body is not present for a function that has a non-empty old style identifier-list of parameters. This error occurs only in C.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int f(i); int i = 4; int main() { }

How to Fix Supplying a function body at the appropriate place in the source code fixes the error. Consequently, however, unless you compile the code with the "-traditional" switch, the "a parameter declaration may not have an initializer" error will appear. Therefore, a new style, ANSI compliant function declaration is preferred.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0093

55

Page 56: Compiler Error Messages

Compiler Error: function type may not come from a typedef

Description A function or a function template has been defined with the function type coming from a typedef.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example typedef int (foo)(int); foo g{ return 0; }; void main(){}

How to Fix You cannot define a function with a typedef type, as this type is used for a function template. Remove the offending declaration and use a legal function or function template declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5:w)

cc0094 Compiler Error: the size of an array must be greater than zero

Description

The size of an array cannot be smaller than one.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void foo(int i){

int (*iap) [10];

iap = new int [i][-10]; /* Error : second dimension of the array

is negative */

iap++;

}

void main(){

int val = 7;

foo(val);

}

How to Fix

Ensure that the size of the offending array is greater than zero.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

56

Page 57: Compiler Error Messages

cc0095 Compiler Error: array is too large

Description

An incomplete array is being initialized with a too high number of initial values.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error cannot be reproduced with a reasonable size extract from a source file.

How to Fix Reduce the number of initial values in the offending array to a manageable size.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0096 Compiler Error: a translation unit must contain at least one declaration

Description

The compiler is trying to process a translation unit (source file) that is empty or contains only preprocessing directives. Note that ppc allows an empty source. This error occurs only in C in strict ANSI mode, and does not apply to C++.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example A file that is empty or only contains preprocessing directives

How to Fix Ensure that the source file used contains at least one statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0097 Compiler Error: a function may not return a value of this type

Description

A function returning an illegal value type.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

57

Page 58: Compiler Error Messages

Example

This error is intended to cover any illegal return types that may not have been covered individually. At the present time, all illegal function return types are handled individually.

How to Fix

Ensure that the value type returned by the offending function is legal.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0098 Compiler Error: an array may not have elements of this type

Description An array contains illegal element type(s). For example, the constant expression specifying the bounds of the array is being omitted for a member that is not the first member of the sequence.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int fun(int a[][]); /* Error: bound of second dimension not

specified */

void main(){}

How to Fix Replace the offending array element with an element of another (legal) type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0100 Compiler Error: duplicate parameter name

Description

The parameter has already appeared on the list.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo( int i, int j, int i );

How to Fix

Ensure that no duplicate parameter names are used in a parameter list.

Related Information

58

Page 59: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0101 Compiler Error: "xxxx" has already been declared in the current scope

Description Another member has been declared with the same class name, and:

A name was found in the current scope.

A parameter has already been declared.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example int foo(){ int i; int i; /* it is illegal to use the same name twice in the scope */ } /* this function */

How to Fix Use an alternative variable name at the appropriate places in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.3)

cc0102 Compiler Error: forward declaration of enum type is nonstandard

Description This error is either a vacuous declaration or a reference to an incomplete (not yet declared) type.

Severity

Fatal error, in strict ANSI mode only

Recovery

The compiler cannot recover from this error.

Example: enum MyEnumTypes;

How to Fix

Forward declarations are non-standard for enum types. Restructure the source code to eliminate the need for a forward declaration. Remove the offending statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.2)

cc0103

59

Page 60: Compiler Error Messages

Compiler Error: class is too large

Description

A class , struct, or union in C is too large.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example This error cannot be reproduced with a reasonable size extract from a source file.

How to Fix

Reduce the size of the offending class, struct, or union.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9)

cc0104 Compiler Error: struct or union is too large

Description The structure referred to is too large.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example

This error cannot be reproduced with a reasonable size extract from a source file.

How to Fix

Reduce the size of the offending structure.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0105 Compiler Error: invalid size for bit field

Description The size of the bit field must be non-negative and must not exceed the size of the underlying type (except for enums) or target maximum bit field size.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct {

60

Page 61: Compiler Error Messages

int i : -1; /* The size cannot be negative. */ int j : 2; } MyStr;

How to Fix Ensure that bit field referred to in the error is given a valid size.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.6)

cc0106 Compiler Error: invalid field for a bit field

Description

The type qualifier of the bit field is not an integral type or an enumeration type. The integral types are char, short, int, and long int since each stores a whole number integer.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct { double i : 1; /* double is not an integral type, therefore illegal */ int j : 2; } MyStr;

How to Fix

Use an integral or an enumeration type for the offending bit field declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.6)

cc0107 Compiler Error: zero-length bit-field must be unnamed

Description If the bit-field size is zero, it must be unnamed.

Severity Warning, if Cfront compatibility is specified and bit-fields are allowed to have zero size

Fatal error, otherwise

Recovery

The compiler cannot recover from this error.

Example struct { int i : 0; /* bit-field size is zero, it must be unnamed, */ /* therefore an error */ int j : 2; } MyStr;

61

Page 62: Compiler Error Messages

How to Fix

Leave the offending zero-sized bit field unnamed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.6)

cc0109 Compiler Error: expression must have (pointer-to-) function type

Description The operand is not a member of a function type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int main() { void(*)(int); }

How to Fix

Replace the offending operand with one that is a pointer to a function type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0110 Compiler Error: expected a definition or a tag name

Description

The tag name used to declare a class, struct, or union is a reserved keyword.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example union int{ /* int is a reserved keyword, therefore error */ int i; } u;

How to Fix

Replace the tag name used for the offending declaration and make sure it is not a reserved keyword.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.11, 3.1)

62

Page 63: Compiler Error Messages

cc0112 Compiler Error: expected "while"

Description

A while keyword is missing from the source code.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main() { int i = 0; do{ i++; } while ( i <= 10 ); /* the "while" keyword is missing from the */ /* beginning of the line */ }

How to Fix

Ensure that the while keyword is inserted at the proper location in the source code. The above code assumes the following form: int main() { int i = 0; do{ i++; } while ( i <= 10 ); /* the "while" keyword is inserted at the */ /* source code location */ }

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.5.1, 6.5.2)

cc0114 Compiler Error: entity-kind "entity" was referred to but not defined

Description This error is caused by any of the following conditions:

Reference to an undefined member function that is either extern or inline or has internal linkage

A non-local inline virtual function that is not defined and referred to

An undefined inline virtual function. When the virtual table for the class is generated for the class, the function address taken results in a linker error.

Reference to an undefined routine with internal linkage

Reference to an extern or inline function that was not defined. In this case the Microsoft compiler issues no diagnostic, although the linker may.

An undefined label

Severity

63

Page 64: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example static int statfunc(int); void f(){ int i = statfunc(4); } int main(){}

How to Fix Add a definition for the offending undefined entity at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.1, 8.4)

cc0115 Compiler Error: a continue statement must be in loop

Description

The continue statement has been used outside of an appropriately structured statement (that is, a loop).

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example An example is any situation where the continue statement has been used outside of a dependent statement or iteration statement.

How to Fix

Ensure that the source code is restructured to accommodate the correct usage of the continue statement. An example program is: void main() { char ch; for ( int i = 0; ; ){ cin.get(ch); if ( ch == '\033' ) continue; if ( ch == '\n' ){ break; } ++i; } }

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.6.2)

64

Page 65: Compiler Error Messages

cc0116 Compiler Error: a break statement may be used only within a loop or switch

Description

The switch statement has been used outside of a loop or switch statement.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

An example is any situation where the break statement has been used outside of a loop or switch statement.

How to Fix

Restructure the source code to accommodate the correct usage of the break statement. The following code is an example of a correct usage of break within a switch statement: void main() { int choice; cout << "Enter 1 or 2\n"; cin >> choice;

switch(choice) { case 1: cout << "You entered 1\n"; break; case 2: cout << "You entered 2\n"; break; default: cout << "You must enter 1 or 2\n"; } }

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.6.1)

cc0117 Compiler Warning: non-void entity-kind "entity" should return a value

Description

A return statement without an expression was used on a function that returns a value.

Severity

Warning

Recovery The compiler treats the function as if it returns void, and compilation continues.

Example int fn(){

return; /* Error : non-void function does not return a value */

65

Page 66: Compiler Error Messages

}

void main(){}

How to Fix

Add an expression to the offending return statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0118 Compiler Error: a void function may not return a value

Description

In C mode, a void function returns a value. In C++ mode, the error is different.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void foo(){ return 0; /* void function returns an int: error */ }

How to Fix

Change the function to make its type match the return value.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0119 Compiler Error: cast to type "type" is not allowed

Description

Casting to this type is not allowed. The type statement can try to cast to an array type, a function type, or any other type that is not allowed by the ANSI standard.

Severity

Fatal error

Recovery The compiler cannot recover from this error

Example struct A { int a; }; int main() { int b = 4; const int Num = (struct A)b; /* this cast is not allowed */ }

How to Fix

66

Page 67: Compiler Error Messages

Ensure that the cast statement is casting to a type allowed by the ANSI standard.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7, 5.2.9, 5.2.10)

cc0120 Compiler Error: return value type does not match the function type

Description

This error applies only in C++ mode when the return value type does not match that of the function type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void foo(){ return 0; /* void function returns an int: error */ }

How to Fix

Change the function to ensure that its return value corresponds to its type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.6.3)

cc0121 Compiler Error: a case label may be used only within a switch

Description

A case label has occurred outside of a switch statement.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

An example is any situation where the case label is not within a switch statement.

How to Fix

Restructure the source code to ensure that the case label is enclosed within a switch statement. The following example shows the correct structure for the switch statement: switch (expression) { case label : statementlist case label : statementlist ... default :

67

Page 68: Compiler Error Messages

statementlist }

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.1)

cc0122 Compiler Error: a default label may be used only within a switch

Description

A default label has occurred outside of a switch statement.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example

An example is any situation where the default label is not within a switch statement.

How to Fix

Restructure the source code to enclose the default label within a switch statement. The following example shows the correct structure for the switch statement: switch (expression) { case label : statementlist case label : statementlist ... default : statementlist }

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.1)

cc0123 Compiler Error: case label value has already appeared in this switch

Description

The value for this case label has already appeared within this switch statement.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void main() { int choice; cout << "Enter 1 or 2\n"; cin >> choice;

switch(choice)

68

Page 69: Compiler Error Messages

{ case 1: cout << "You entered 1\n"; break; case 1: /* This is the second time this case label value */ /* appears. Therefore Error. */ cout << "You entered 2\n"; break; default: cout << "You must enter 1 or 2\n"; } }

How to Fix

Change the offending case label value to make it unique within the switch statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.1, 6.4.2)

cc0124 Compiler Error: default label has already appeared in this switch

Description

A default label has already appeared earlier in this switch statement.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example void main() { int choice; cout << "Enter 1 or 2\n"; cin >> choice;

switch(choice) { case 1: cout << "You entered 1\n"; break; case 2: cout << "You entered 2\n"; break; default: cout << "You must enter 1 or 2\n"; default: /* Second appearance of the default label within */ /* this switch statement. Therefore Error. */ cout << "Try again\n"; } }

How to Fix:

Ensure that the offending switch statement contains only one default label.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.1, 6.4.2)

69

Page 70: Compiler Error Messages

cc0125 Compiler Error: expected a " ("

Description

The left (opening) parenthesis of a statement or expression is missing.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo); /* Missing left parenthesis of a function declaration */ int foo(); /* This is correct */

How to Fix Ensure that a left parenthesis is used at the proper source file location to match the right one used later in the file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.12)

cc0126 Compiler Error: expression must be an lvalue

Description

An attempt to cast to a reference type failed because the source operand is not a lvalue.

The error is applicable only when you compile with the -strict or -pedantic command line options.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example /* This example is only valid when compiling with the -strict or

-pedantic command line option. */

struct B {

int b;

};

struct D : public B {

int d;

D(int i) : d(i) {}

};

void main(){

int i = 0;

70

Page 71: Compiler Error Messages

/*

// error : static_cast<D>(i) is not an lvalue

*/

B &rb = static_cast<B&>(static_cast<D>(i));

/* suppress warnings */

i++;

rb.b++;

}

How to Fix

If T is of reference type in an expression dynamic_cast<T>(v), ensure that v is an lvalue of a complete class type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0127 Compiler Error: expected a statement

Description A label definition precedes a right brace (curly bracket).

Severity

Warning, if a label definition precedes a right brace (})

Error, if tokens figure in statements but do not begin them

Recovery

If a warning is indicated, compilation continues.

If an error is indicated, the compiler cannot recover. The error is also likely to cause other errors.

Example The following example generates a warning: void main() { int choice; cout << "Enter 1 or 2\n"; cin >> choice;

switch(choice) { case 1: cout << "You entered 1\n"; break; case 2: cout << "You entered 2\n"; break; default: } /* a default label precedes the "}" causing the warning */ }

The following example generates an error: int main() { int i = 0; return 0;

71

Page 72: Compiler Error Messages

while i <= 10 { /* the luck of parenthesis around the condition of */ /* while statement causes the error. */ i++; } }

How to Fix If Warning - Add a statement following the label definition where the warning occurs. If Error - Change the code at the appropriate place in the source code eliminating the error. The Example given above will become: int main() { int i = 0; return 0; while ( i <= 10 ) { i++; } }

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0129 Compiler Error: a block-scope function may have only extern storage class

Description A static function declaration is within a block.

Severity Fatal error

Recovery The compiler cannot recover from this error

Example class A {

void foo();

};

void A::foo(){

int done = 1;

while (done)

{

static int g(); /* Error: static function declaration in

a block */

done = 0;

}

}

void main(){}

How to Fix

A static function declaration cannot be within a block. Make the offending function declaration non static or remove the declaration.

72

Page 73: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0130 Compiler Error: expected a "{"

Description

A left brace (curly bracket) is missing from the source file.

Severity Fatal error

Recovery The compiler cannot recover from this error

Example struct /* a left curly bracket is missing. int i; int j; }A_Struct;

How to Fix

Ensure that a left brace is used at the proper source file location to match the right one used later in the file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.12)

cc0131 Compiler Error: expression must have pointer-to-class type

Description

An expression that must be a pointer-to-class type is not a pointer-to-class type. C++ Specific.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example int i = 0;

int *ip = &i;

struct S {

int i;

};

void main(){

ip->i = 1; /* Error : ip is not a pointer to class object */

ip++;

}

73

Page 74: Compiler Error Messages

How to Fix

Make the offending expression a pointer-to-class type. For example, if the expression uses an object that is not a "pointer to class object," use in its place a "pointer to class object" of a complete type. An alternative is to remove the offending expression from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0132 Compiler Error: expression must have pointer-to-struct-or-union type

Description

An expression that must be a pointer-to-structure or pointer-to-union type is not a pointer-to-structure or pointer-to-union type.

This error is C language specific.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example int i = 0;

int *ip = &i;

struct S {

int i;

};

void main(){

ip->i = 1; /* Error : ip is not a pointer to structure object */

ip++;

}

How to Fix

Replace the offending expression with an expression that is a pointer-to-structure or pointer-to-union type. An alternative is to remove the offending expression from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0133 Compiler Error: expected a member name

Description

A member name has not appeared after a dot (.) or pointer (->) operator.

Severity

74

Page 75: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example class MyClass { public: int i; };

void main() { MyClass myclass; myclass. = 10; /* a member name is missing after the "." operator */ }

How to Fix

Add a member name following the dot (.) or pointer (->) operator in the appropriate place in the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.2)

cc0134 Compiler Error: expected a field name

Description

A field name has not appeared after a dot (.) or pointer (->) operator.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct MyStruct { unsigned short a : 1; unsigned short b : 2; } A_Struct;

int main() { A_Struct. = true; /* a field name is missing after the "." operator */ A_Struct.b = false; }

How to Fix

Add a field name following the dot (.) or pointer (->) operator in the appropriate place in the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0135

75

Page 76: Compiler Error Messages

Compiler Error: entity-kind "entity" has no member "xxxx"

Description The member name referred to does not exist.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class MyClass { public: int i; };

void main() { MyClass myclass; myclass.j = 10; /* "j" is not a member of the class MyClass */ }

How to Fix In the appropriate place in the source code, replace the offending member name with an existing one that is a member of the referred to entity.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.2)

cc0136 Compiler Error: entity-kind "entity" has no field "xxxx"

Description The field name referred to does not exist.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example struct MyStruct { unsigned short a : 1; unsigned short b : 2; } A_Struct;

int main() { A_Struct.a= true; A_Struct.c = false; /* "c" is not a field of the struct MyStruct */ }

How to Fix In the appropriate place in the source code replace the offending field name with an existing one that is a field of the referred to entity.

Related Information

76

Page 77: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0137 Compiler Error: expression must be a modifiable lvalue

Description

In C and C++, lvalue (location value) is an address used for storage. The error refers to a statement that is trying to modify an object through a non-modifiable lvalue.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main() { const int i = 1; i = i+1; /* i is an integer constant therefore its value is not */ } /* modifiable */

How to Fix

Replace the offending lvalue with one that is modifiable.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.10)

cc0139 Compiler Error: taking the address of a bit field is not allowed

Description

The program is trying to take the address of a bit field.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct MyStruct { int a : 1; int b : 2; } A_Struct;

int main() { int *bp; bp = &A_Struct.b; /* attempting to take the address of */ /* the bit field b */ }

How to Fix

The C++ standard states: "The operand of & shall not be a bit-field." Therefore,

77

Page 78: Compiler Error Messages

structure the program to enable the removal of the offending statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.1)

cc0140 Compiler Error: too many arguments in function call

Description

The number of arguments provided for a function is greater than the number indicated by a prototype in scope.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int foo( int i, int j){ /* function takes two arguments */ int k = i - j; return k; }

int main() { int a = foo( 2, 2, 3 ); /* the function call provides three, */ /* causing the error */ }

How to Fix Ensure that the correct number of arguments are supplied to the function in question.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.2)

cc0141 Compiler Error: unnamed prototyped parameters are not allowed when body is present

Description

A new-style (function prototype) exists for which at least one of the parameter names was omitted in the prototype. In C this omission is not valid on a function definition. In C++ the omission is allowed (see ARM 8.2.5, 8.3).

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void foo( int ){}

How to Fix

Ensure that function prototype parameters are named.

78

Page 79: Compiler Error Messages

The example above could become: void foo( int i ){}

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0142 Compiler Error: expression must have pointer-to-object type

Description The expression used does not have a pointer-to-object type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int a;

int main() { return a[1]; /* Error occurs here */ }

How to Fix

Ensure that the expression used has a pointer-to-object type. The lvalue must be for a scalar, and if it is a pointer, it must point to an object.

One of the operands must have a pointer-to-object type, and the other one must be an integral expression. You can make the above example compile by either changing the declaration "int a;" to "int a[];" or by changing the return statement to "return a".

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2)

cc0143 Compiler Error: program too large or complicated to compile

Description The source program too large for compilation.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error cannot normally be reproduced.

How to Fix

Split the large source file into multiple files.

Related Information

79

Page 80: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0144 Compiler Error: a value of type "type" cannot be used to initialize an entity of type "type"

Description

The program is trying to initialize a variable with a value that is incompatible with that variable.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main() { int i = 10; int *p = i; /* an integer value cannot be assigned to a pointer */ }

How to Fix Replace the initializing value of the offending variable with one that is compatible with that variable.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5)

cc0145 Compiler Error: entity-kind "entity" cannot be initialized

Description This error is generated under the following conditions:

The entity is not a variable (for example, it might be a typedef).

A variable declared __declspec(dllimport) cannot be initialized.

The Block extern variable with internal or external linkage cannot be initialized.

VLAs cannot be initialized.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example typedef unsigned long ulong = 10;

How to Fix Remove the offending initialization statement. To initialize the variable in question, you must declare it as a different type.

80

Page 81: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5)

cc0146 Compiler Error: too many initializer values

Description

The initializers outnumber the available members in which to put them.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int i[3] = { 0, 1, 2, 3 }; /* The array can only have 3 members */

How to Fix

Change the number of the initializers to match the number of available members or increase the number of the members to match the number of initializers.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5)

cc0147 Compiler Error: declaration is incompatible with entity-kind "entity" (declared at line xxxx)

Description

The present declaration is incompatible with a preceding one.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example extern int foo; int foo(int); int main(){}

How to Fix Ensure that each entity is declared only once.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.1)

cc0148 Compiler Error: entity-kind "entity" has already been initialized

Description

81

Page 82: Compiler Error Messages

The variable is already initialized, but it is being declared again.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int i[2] = { 1, 2 }; int i[2] = { 3, 4 }; int main(){}

How to Fix

Take out the offending statement or use a different variable that has not already been declared and initialized.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5)

cc0149 Compiler Error: a global-scope declaration may not have this storage class

Description

The storage class used is invalid for any variable at file scope (for example, the storage classes auto and register).

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example auto int i; register int j; int main(){}

How to Fix

Specify a valid storage class, or do not declare the variable at file scope.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0153 Compiler Error: expression must have class type

Description

The operator used is not allowed in this kind of expression.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

82

Page 83: Compiler Error Messages

class MyClass{ public: MyClass(); ~MyClass();

int begin(){ return 2; } };

int main(){ MyClass *Class_1 = new MyClass; int res = Class_1.begin(); /* "." operator is not allowed here */ }

How to Fix

Replace the offending operator with one appropriate for the expression used. In the example shown above, the "." operator should be replaced with the "->" operator.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.5, 5.2.5,13.5.6)

cc0154 Compiler Error: expression must have struct or union type

Description

The operator used is not allowed in this kind of expression.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct bal{ float balance; }acc;

int main(){ struct bal *p; p = &acc; p.balance; /* "." operator is not allowed here */ }

How to Fix Replace the offending operator with one appropriate for the expression used. In the example shown above, the "." operator should be replaced with the "->" operator.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0157 Compiler Error: expression must be an integral constant expression

Description This error is generated under these conditions:

The expression used does not reduce to a value that will be an integer

83

Page 84: Compiler Error Messages

constant once it is cast to an integral type.

The expression written contained either a non-integral value, a reference to an object, or an operator that cannot be evaluated at compile time.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix Replace the offending expression with an integral constant expression.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0158 Compiler Error: expr not an lvalue or function designator

Description

The operator "&" was applied to an entity that is not an lvalue or a function designator or another permitted case.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S {

void foo(){

&this; /* Error: expression is an rvalue not an lvalue */

}

};

void main(){}

How to Fix

Remove the "&" operator from the offending expression.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0159 Compiler Error: declaration is incompatible with previous "entity" (declared at line xxx)

Description

The current declaration is a block extern declaration that conflicts with a previous file-scope declaration of a function with the name. The return types of the two functions are incompatible.

The old name is a variable and the new one is a routine or vice-versa. The previous declaration and the current are not "overload distinguishable."

84

Page 85: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo();

int main(){ void foo();

}

How to Fix

If the functions have the same name but different return types, either use the same return types for both functions or use a different name for the second function. If the old name is a variable and the new one is a routine, use a different name if possible.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7)

cc0160 Compiler Error: name conflicts with previously used external name "xxxx"

Description

Two different names mapped to the same external name.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that new name maps to a different (unique) external name.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0163 Compiler Error: could not open temporary file "xxxx"

Description

A temporary file could not be opened.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error occurs only when the file system is full.

How to Fix Ensure that enough space is available in your file system.

85

Page 86: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0164 Compiler Error: name of directory for temporary files is too long ("xxxx")

Description

The name of the directory containing temporary files is longer than 150 characters.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example This error cannot be reproduced under normal circumstances.

How to Fix Reduce the name length of the directory containing temporary files to under 150 characters.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0165 Compiler Error: too few arguments in function call

Description

The number of arguments used in a function call is less than the number of parameters that the particular function has.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int foo( int i, int j ){ return 0; }

int main(){ int k = 2; int l = foo( int k ); }

How to Fix Ensure that number of arguments used to call the function correctly matches the number of parameters that the function has.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.2)

86

Page 87: Compiler Error Messages

cc0166 Compiler Error: invalid floating constant

Description

No digits of the exponent are present. Note that pcc treats this condition as an exponent of zero.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example float Num = 3.3E;

How to Fix

Correct the floating number by giving digits to the exponent.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.3)

cc0167 Compiler Error: argument of type "type" is incompatible with parameter of type "type"

Description The argument passed back to a function is a type that is not compatible with the type of the parameter of that function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo( char* Word ){return 0; }

int main() { int i = 2; /* Below trying to pass an int to a function that has a parameter char* - Error */ int Num = foo( i ); }

How to Fix

Ensure that the types of the argument and parameter are compatible.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0168 Compiler Error: a function type is not allowed here

87

Page 88: Compiler Error Messages

Description

A function declaration has been found within a structure, union, or template. This error applies only for C. Such syntax is permitted in C++.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct MyStruct{ int foo(); };

How to Fix

Remove the offending declaration. Function types are not allowed inside structures, unions, or templates in C.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0169 Compiler Error: expected a declaration

Description

A declaration is missing. Template parameters are declared, but the declaration is missing.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct MyStruct{ }; /* An empty structure declaration, error in C not in C++ */

Another example is: /* The declaration below has been commented out */ template <class A, int i> /* class TestClass */{ public: }; int main(){}

How to Fix

Add a declaration statement at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7)

cc0170 Compiler Warning: pointer points outside of underlying object

Description This pointer points outside of the underlying object.

88

Page 89: Compiler Error Messages

Severity

Warning

Recovery

The compiler issues the warning and compilation continues.

Example double bvalues = 1;

static double *b = (double *)&bvalues -1;

void main(){}

How to Fix

Ensure that offending pointer points within the underlying object.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0171 Compiler Error: invalid type conversion

Description

An expression causes an invalid type conversion such as "float to pointer" or "bit to pointer."

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int main() { float f = 3; int i = 10; int *pInt = (int*)f; }

How to Fix

If the attempted conversion is illegal, fixing it is not possible. Take out the offending statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.9)

cc0172 Compiler Error: external/internal linkage conflict with previous declaration

Description

This diagnostic appears in the following set of circumstances (it does not apply in ppc mode):

A specific declaration of function template instance for which a specific definition has not been seen. The storage class of this declaration does not

89

Page 90: Compiler Error Messages

agree with the storage class of the template.

A variable or routine is being declared again. The old and new linkages conflict.

A conflict exists between a prior declaration and the current one.

A new variable entry has been created, yet the external symbol already refers to a different variable.

Linkage inconsistency exists only on nonmember function templates.

The template was not static but the new declaration is.

Severity

Warning, if you are using the -pedantic option

Error, if you are using the -strict option

Recovery If the old and new linkages conflict, they and the storage classes are updated appropriately.

Example extern int f(); static int f(); /* Another example ... */ int foo() { extern int i; return i; } static int i = 0; int main(){}

How to Fix The above examples cause undefined behavior according to the standard. Restructure the source code to enable the above cases to become ANSI compliant.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1, 7.1.2)

cc0174 Compiler Error: expression has no effect

Description The compiler has encountered an expression that has no effect.

Severity

Remark, displayed only if the source code is compiled with the -Wremarks option.

Recovery

The compiler ignores the offending statement, and compilation continues.

Example int main() { 0; }

How to Fix

Delete the offending expression or edit it to ensure that it adheres to the ANSI standard.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

90

Page 91: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (Expressions that do not invoke any effect are mentioned throughout the ANSI standard.)

cc0180 Compiler Error: argument is incompatible with formal parameter

Description In an old style function declaration, the type of the argument passed back to a function is not compatible with the type of the parameter of that function. Three possible scenarios are:

The types are interchangeable but not compatible (for example, unsigned int vs. int).

An uncast zero is being passed for a pointer parameter. This scenario is possible if the architecture uses all zero bits for a NULL pointer.

The types are incompatible.

Severity

Remark, if either of the first two scenarios above

Warning, if the types are incompatible

Recovery

After the warning, compilation continues.

Example int foo(i) int i; { return i + 0; } int main() { double arg = 2; int res = foo(arg); }

How to Fix Ensure that all arguments passed back to the function are compatible with its formal parameters.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0181 Compiler Error: argument is incompatible with corresponding format string conversion

Description The argument of a printf statement is incompatible with the corresponding format string conversion. Two possible scenarios are:

The types are not exactly the same, but they are interchangeable.

The argument type does not match the required type.

Severity

91

Page 92: Compiler Error Messages

Remark, if the first scenario above

Warning, if the second scenario above

Recovery

After the warning, compilation continues.

Example #pragma __printf_args int printf(const char*,...);

int main() { double Num = 3.0; printf("%d\n", Num); }

How to Fix

Ensure that all the arguments of the offending printf statement are compatible with their corresponding format string conversions.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (22.2.2.2.2)

Also see your compiler documentation.

cc0182 Compiler Error: could not open source file "xxxx" (no directories in search list)

Description

No search path is specified, so the file cannot be found. Possibly no -I options are on the command line.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

Compile the file below with the -no-std-inc option on: #include<fiction.h> /* file "fiction.h" does not exist */ int main(){}

How to Fix

Ensure that the source file that the program is trying to open actually exists. Also, if the -I option is used, ensure that the correct location of the directory containing the file has been specified.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.1)

cc0183 Compiler Error: type of cast must be integral

Description

92

Page 93: Compiler Error Messages

The program is casting to a non-integral type in an integral constant expression.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Ensure that the type of cast is integral.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0184 Compiler Error: type of cast must be arithmetic or pointer

Description

Casting was to a non-scalar type in an initializer expression.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Remove the offending casting expression from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0189 Compiler Error: error while writing xxxx file

Description

An error occurred in writing the output file, the preprocessing output file, or the raw listing file. One reason for the error could be a full disk.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error depends on the compilation environment. Usually, the error cannot be reproduced under normal circumstances.

How to Fix Ensure that the disc has enough space left.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

93

Page 94: Compiler Error Messages

cc0193 Compiler Error: zero used for undefined preprocessing identifier

Description

A preprocessing identifier that is not a macro and not a keyword has been encountered.

Severity

Remark, only when the -Wremarks option is used

Recovery

The identifier is replaced with the value 0L, and compilation continues.

Example #if anything_at_all #define xyz #endif

int main(){}

How to Fix

Replace the offending identifier with a valid one, or remove it.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16, 16.1)

cc0194 Compiler Error: expected an asm string

Description The code following an asm is not an assembly code instruction.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example asm (void);

int main(){}

How to Fix Ensure that the code following the asm keyword represents an assembly code instruction.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.4)

cc0219 Compiler Error: error while deleting file "xxxx"

Description An error occurred while you tried to delete a file. This error is usually issued when you try to delete a file that is currently open.

94

Page 95: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error cannot normally be reproduced with a specific extract from a source file.

How to Fix

Ensure that the offending file is closed before trying to delete it.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0220 Compiler Error: integral value does not fit in the required floating-point type

Description An Integral point value is too big to fit in the required floating-point type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Replace the floating-point type used with a floating-point type big enough to hold the required integral type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0223 Compiler Error: function declared implicitly

Description

This diagnostic is applicable only to C and not C++. The compiler called a function that was not previously declared.

Severity

Remark

Recovery

The compiler assumes that the function returns an int.

Example int main(){ foo(); } foo(){}

How to Fix Ensure that a function declaration exists for the offending function.

95

Page 96: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0235 Compiler Error: variable "xxxx" was declared with a never-completed type

Description

The compiler has encountered a file storage variable that defines storage an has an incomplete type. This error applies only to C. A different error is generated for C++, as ANSI C++ does not allow incomplete types.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct Not_Complete v; int main(){}

How to Fix

Ensure that the type of the offending variable is completed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0236 Compiler Error: controlling expression is constant

Description A controlling expression that is constant has been encountered.

Severity

Warning, if this error applies to a test result of a constant address or if you are linking

Remark, in all other cases

Recovery

Compilation continues after the warning or remark.

Example int main() { while(2){ ; } }

How to Fix

Do not use controlling expressions that are constants. Make changes at the appropriate place(s) in the source to prevent the occurrence of the above situation.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

96

Page 97: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (5)

cc0237 Compiler Error: selector expression is constant

Description

The selector expression of a switch statement is constant.

Severity

Remark, only when the -Wremarks option is used

Recovery After the remark, compilation continues.

Example void main(){ switch(1) { case 1: ; default: ; } }

How to Fix

Change the selector expression of the offending switch statement to a non-constant expression.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4.2)

cc0238 Compiler Error: invalid specifier on a parameter

Description One of the following specifiers has appeared in a function parameter specification: friend, virtual, inline, or explicit. This error is C++ specific.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example void foo( inline int i ); void main(){}

How to Fix

Remove the offending specifier and ensure that none of the specifiers listed above are used in a function parameter specification.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.4, 8.3.5)

97

Page 98: Compiler Error Messages

cc0239 Compiler Error: invalid specifier outside a class declaration

Description

A friend declaration is in a nonclass scope. The friend specifier appears outside a C++ class, union, or struct declaration. This error is C++ specific.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example class MyClass { public: MyClass(); }; friend MyClass foo();

int main(){}

How to Fix

Remove the offending declaration and ensure that friend declarations do not appear outside of classes, unions or structures.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.4)

cc0240 Compiler Error: duplicate specifier in declaration

Description

The compiler has encountered one of the following scenarios:

More than one friend, inline, or virtual specifier at one time

A long long, when it is not allowed

A short short

Either a signed signed or unsigned unsigned

A specifier indicating an asm function declaration, which is inconsistent with an explicit storage class declaration or inline

This error is C++ specific.

Severity

Fatal error, in all the cases above except case 2 (long long)

Warning, if long long

Recovery If a fatal error is indicated, the compiler cannot recover.

If a warning about long long is indicated, the compilers treats long long as long and compilation continues.

Example class MyClass

98

Page 99: Compiler Error Messages

{ public: MyClass(); friend friend MyClass foo(); /* more than one "friend", Error */ };

int main(){ short short Num; /* "short short", Error */ signed signed int Num1; /* "signed signed", Error */ }

How to Fix

In case 1, remove the extra specifier and ensure that duplication of the friend, inline, or virtual specifier does not appear anywhere in source code.

In case 2, remove the extra long specifier.

In cases 3 and 4, remove the extra short, signed, or unsigned specifiers.

In case 5, ensure that the inconsistency described above does not occur.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7)

cc0241 Compiler Error: a union is not allowed to have a base class

Description

The compiler has encountered a union with a base class.

Severity

Fatal error

Recovery The compiler cannot recover from this error. The compiler continues, however, and scans the base class specifiers (without updating the type supplement). This error is C++ specific.

Example class MyBaseClass { public: };

union MyUnion : public MyBaseClass /* base class not allowed, Error */ { int i; } One;

int main(){}

How to Fix

Unions cannot have base classes. Therefore, you can use another class instead of a union if inheritance is desirable. If you do not need inheritance, remove it.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.5)

cc0242

99

Page 100: Compiler Error Messages

Compiler Error: multiple access control specifiers are not allowed

Description The compiler has encountered a multiple usage of one of the three access control specifiers: public, private, or protected. This error is C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class MyBaseClass { public: };

class MyClass : public public MyBaseClass /* multiple usage of the */ { /* "public" specifier - Error */ public: };

int main(){}

How to Fix

Remove the extra public class specifier at the appropriate place in the source code, and leave only one public class specifier.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.2, 11.3)

cc0243 Compiler Error: class or struct definition is missing

Description The definition of a derived class or structure is missing. This error is C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class MyBaseClass { public: };

class DerivedClass : public MyBaseClass ; int main(){}

How to Fix Add a definition for the offending class or structure at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10)

100

Page 101: Compiler Error Messages

cc0244 Compiler Error: qualified name is not a member of class "type" or its base classes

Description A qualified name is not a member of a particular class or any of its base classes.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S {

int smem;

};

S s;

void main ()

{

int i;

i = s.S::smem; // ok

struct S {

int smem;

S () : smem(0) {}

};

s.S::smem = i; /* Error: S declared in the context of 's' is not the

same as S in ::S */

How to Fix

If the qualified name is not a member of the class or any of its base classes and is appearing in an expression or a statement indicating so, that expression or statement is meaningless. Remove the expression or statement in which the qualified name is appearing.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0245 Compiler Error: a nonstatic data member may not be defined outside its class

Description

A nonstatic member function is used where it is not available (for example, outside a member function. This error is C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

101

Page 102: Compiler Error Messages

Example class MyClass { MyClass(); ~MyClass();

public: int Num; };

MyClass::MyClass() { // MyClass::Num = 0; /* initialization would be ok here */ }

int main(){ MyClass::Num = 0; /* cannot initialize here, Error */ }

How to Fix

Do not use nonstatic members outside a member function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5)

cc0246 Compiler Error: a nonstatic data member may not be defined outside its class

Description The compiler has encountered a member definition being performed outside of that member's class.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class MyClass { public: int Num; }; int MyClass::Num = 0;

int main(){ }

How to Fix

Nonstatic members cannot be initialized outside of their respective classes. Therefore, remove the offending initialization and initialize the member inside that member's class.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.2)

cc0247

102

Page 103: Compiler Error Messages

Compiler Error: entity-kind "entity" has already been defined

Description The compiler has encountered a redefinition of an entity (for example, a class, an extern "C" function, a variable, an alias, a label, or a class template).

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example namespace N { extern "C" void f() { } } namespace M { extern "C" void f() { } }

int main(){}

How to Fix Remove the offending redefinitions. You can define an entity only once.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.2)

cc0248 Compiler Error: pointer to reference is not allowed

Description

The compiler has encountered a pointer to a reference or a type "pointer to reference to anything".

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int& *pi; /* pointer to reference is not allowed, error */

int main(){ }

How to Fix A pointer to a reference is illegal. Restructure the source code to ensure that the offending statement can become redundant and can be removed.

You can declare a pointer to a data type and then declare a variable and assign its address to the pointer. For example: int* p; /* declares a pointer to an int - p */ int Num = 1; /* declares an int variable Num */ *p = &Num; /* assigns the address of Num to the pointer *p */

The following example shows a reference to an int variable: int Num = 1; /* declaring the variable Num and assigning 1 to it */ int& NumRef = Num; /* declaring Numref as a reference to the int variable Num */

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.1, 8.3.2)

103

Page 104: Compiler Error Messages

cc0249 Compiler Error: reference to reference is not allowed

Description

The compiler has encountered a reference to a reference or to a type "reference to reference".

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int& &r; int main(){}

How to Fix

A reference to a reference is illegal. Restructure the source code to ensure that the offending statement can become redundant and can be removed. You can also declare a variable and then create a reference to that variable, for example: int i = 2; int& ir = i; /* ir now references i */

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.2)

cc0250 Compiler Error: reference to void is not allowed

Description

The compiler has encountered a reference to void or type "reference to void".

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void& r; int main(){}

How to Fix Reference to void is illegal. Restructure the source code so that the offending statement is redundant and can be removed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.2)

cc0251 Compiler Error: array of reference is not allowed

Description An array containing references was encountered.

104

Page 105: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int& i[3]; int main(){}

How to Fix Array of references is illegal. Remove the offending declaration statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.2)

cc0252 Compiler Error: reference entity-kind "entity" requires an initializer

Description

A non-extern reference variable has not been initialized.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main(){ int Num = 1; int& Numref; /* reference variable "Numref" not initialized, Error */ }

How to Fix Initialize the offending variable at the appropriate place in the source code. The reference variable "Numref" from the example above could be initialized as: int& Numref = Num;

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.2)

cc0253 Compiler Error: expected a ","

Description The compiler expected the next token to be comma (,). This occurs in cases such as when a comma does not precede an ellipsis in C. It is optional in C++, when a comma is omitted between the end of one type specifier and the beginning of the next. Also possible, but case, is when a template-id appears where a declarator was expected.

Severity

Fatal error

105

Page 106: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

Example void foo( int ... ); /* Comma missing before ellipses, error in C only. It is accepted in C++ */ void main(){}

How to Fix

Insert the missing comma at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.18)

cc0254 Compiler Error: Type name is not allowed

Description A type name is not allowed in the current expression or statement.

This error is C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A {

public:

class B {

public:

int j;

B(int i) : j(i) {}

~B() {}

};

};

void main(){

A a;

a.A::B(1); /* Error: constructor name must match the class name */

}

How to Fix

Remove the expression or statement in which the offending type name appears, or use a different (allowed) type name.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0255

106

Page 107: Compiler Error Messages

Compiler Error: Type definition is not allowed

Description Remove the expression or statement in which the offending type name appears, or use a different (allowed) type name.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main(){

const_cast< class X { int x; } >(0); /* Error : cannot define X

here */

}

How to Fix Remove the offending type definition from the source code and replace it, if possible, with a definition that is allowed in the current context.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0256 Compiler Error: invalid re-declaration of type name "entity" (declared at line xxxx)

Description

The compiler encountered a type name that was already declared in the current scope and name space. Note that in C++ it is legal to define a tag name and a non-tag name in the same scope (7.1.3 xxxx). In pcc mode, a variable is allowed to hide a function parameter. Also, typedef names can be re-declared as long as the underlying type is the same.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A {}; class A {}; /* already declared in the current scope, Error */ void main(){}

How to Fix

Re-declaring a type name in the same scope is illegal in C/C++, except in the circumstances mentioned above. Replace the offending type name with a new type name that was not used previously in the current scope.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.3)

107

Page 108: Compiler Error Messages

cc0257 Compiler Error: const entity-kind "entity" requires an initializer

Description

A constant variable was not initialized.

Severity

Warning in C mode if the variable is local

Fatal error in C++ mode on all uninitialized constant variables

Recovery If a warning is indicated, the compilation continues.

If a fatal error is indicated, the compiler cannot recover.

Example const int j; /* constant not initialized, no diagnostic in C, Fatal Error in C++ */ int main(){ const int i; /* constant name not initialized, Warning in C, Fatal Error in C++ */ }

How to Fix Initialize the offending variable at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.6.2)

cc0258 Compiler Error: "this" may only be used inside a non-static member function

Description

The "this" pointer was used outside of a non-static member function. C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int main(){ this; /* erroneous usage of the "this" pointer, Error */ }

How to Fix Ensure that the "this" pointer is only used inside non-static member functions.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.3.2)

cc0259 Compiler Error: constant value is not known

108

Page 109: Compiler Error Messages

Description

The variable encountered is const but its value is not known at compile time. This error is C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S {

static const int i;

char a[i]; /* Error: initializer for 'i' was not specified in its

declaration above, so it cannot be used in the current

integral constant expression */

};

void main(){}

How to Fix

Initialize the offending variable at the appropriate place in the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.19)

cc0261 Compiler Error: access control not specified ("xxxx" by default)

Description The explicit access specifier for this entity was not provided. C++ specific.

Severity

Remark, only displayed with the -Wremarks option on

Recovery The missing access specifier defaults to "private" for classes and "public" structures and unions.

Example class A {}; class B : A{}; /* the access control specifier is missing */ main(){}

How to Fix Add the missing access control specifier at the appropriate place in the source code. For example, the above would become: class A {}; class B : public A{}; /* added access control specifier */ main(){}

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10)

109

Page 110: Compiler Error Messages

cc0262 Compiler Error: not a class or struct name

Description

The compiler was expecting a valid class or structure name. C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class B : public A /* "A" is not a class or struct name */ {}; int main(){}

How to Fix Replace the offending name at the appropriate place in the source code with one that is at represents a class or a structure.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10)

cc0263 Compiler Error: duplicate base class name

Description There is already a base class entry in the list that represents the same class.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A{}; class B : public A, public A{}; int main(){}

How to Fix Remove the offending base class name. There cannot be two identical base class names in a single derived class declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.1)

cc0264 Compiler Error: invalid base class

Description The base class encountered is not a valid base class.

Severity

110

Page 111: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example class A : public A{}; /* Class A" cannot be the base of itself */ int main(){}

How to Fix

Specify a previously defined class as a base.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10)

cc0265 Compiler Error: entity-kind "entity" is inaccessible

Description The specified symbol (either the explicitly declared symbol or a member of the overload set the symbol refers to) is inaccessible.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { private: int Num; }; int main(){ A::Num = 0; /* Num is private to class A, it cannot be accessed from main, Error */ }

How to Fix

Ensure that the symbol can be accessed. If it cannot, remove the statement that attempts to access that symbol.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.3)

cc0266 Compiler Error: "entity" is ambiguous

Description

The symbol encountered by the compiler is ambiguous. Symbols can be ambiguous either as a result of "using" directives or as a result of inheritance. This is C++ specific.

Severity

111

Page 112: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example class A { public: int a; }; class B : public A{}; class C : public A{}; class D : public B, public C {}; void f(D* pd) { pd->a++; /* statement is ambiguous as class A is public to Class B and Class C, and Classes B and C are public to class D. Ambiguity through inheritance. */ }

How to Fix

Edit the source to remove the ambiguity so the offending statement can be resolved. Alternatively, remove the ambitious statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.2)

cc0268 Compiler Error: declaration may not appear after executable statement in block

Description The compiler has encountered a declaration statement that appears after an executable statement in the same block. In C all declaration statements must be at the beginning of the block. C specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main(){ int i = 1; int j = 2; int k; k = i + j; int l; /* declaration appearing after an executable statement in block, Error in C */ }

How to Fix

Move the offending declaration to the beginning of the block, before executable statements.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

112

Page 113: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0269 Compiler Error: implicit conversion to inaccessible base class "type" is not allowed

Description The base class is inaccessible. The base class is a virtual base of the derived class, or there is a virtual step on the derivation path, or the base class has private access.

Severity Error, non-discretionary

Recovery The compiler issues the error only once and continues.

Example class A {}; class B : private A {}; int main(){ A A_1; B B_1; A_1 = B_1; }

How to Fix

Ensure that the base class is accessible from the current class.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.2)

cc0274 Compiler Error: improperly terminated macro invocation

Description

The compiler has encountered a Macro invocation that was not properly terminated.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that the offending macro invocation is properly terminated.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.3.5)

cc0276

113

Page 114: Compiler Error Messages

Compiler Error: name followed by "::" must be a class or namespace name

Description

The identifier followed by a "::" was not a class symbol.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class Base { public: int Num; }; class Derived : public Base { NoBase::Num; }; int main(){}

How to Fix

Replace the offending symbol preceding the "::" with one that is a class symbol.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.3)

cc0277 Compiler Error: invalid friend declaration

Description

The compiler encountered an invalid friend declaration. This could be a misplaced friend declaration, a friend function that was declared virtual, or any other improper usage or the friend keyword.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example typedef const struct A TA; class B { friend TA; }; int main(){}

How to Fix

Ensure that the "friend" specifier is used only in declarations of friend functions or classes for the purposes of specifying access class members.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.4)

114

Page 115: Compiler Error Messages

cc0278 Compiler Error: a constructor or destructor may not return a value

Description

The compiler has encountered a constructor or destructor function definition that returns a value.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class MyClass { public: MyClass(){ return 0 } /* constructor returning a value, Error */ ~MyClass(); }; int main(){}

How to Fix

Remove the offending statement. Constructors and destructors cannot return a value.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.1/p5, 12.4)

cc0279 Compiler Error: invalid destructor declaration

Description

A destructor declaration is outside of a class, or the name of the destructor is not the same as the name of the class.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class MyClass { public: MyClass(); ~Not_MyClass(); /* destructor name not the name of the Class, Error */ }; int main(){}

How to Fix Ensure that the offending destructor declaration is placed inside its class and that the name of destructor is identical to the name of its class.

Related Information

115

Page 116: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.4)

cc0280 Compiler Error: declaration of a member with the same name as its class

Description An identifier that is not a constructor and that has the same name as a class is being declared within the class, or a using-declaration introduces a name that is the same as the current class name.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class MyClass { public: MyClass(); ~MyClass(); private: int MyClass; /* this is an error */ class My_Nested_Class{ public: char MyClass; /* this is correct */ }; }; int main(){}

How to Fix Change the name of the offending identifier or using-declaration to one that is different from the name of its class.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.2)

cc0281 Compiler Error: global-scope qualifier (leading "::") is not allowed

Description

The compiler has encountered an unexpected global-scope qualifier. C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void foo( int ::a, int b ){} int main(){}

How to Fix

116

Page 117: Compiler Error Messages

Restructure the source, allowing for the removal of the offending global-scope qualifier.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.3)

cc0282 Compiler Error: the global scope has no "xxxx"

Description No such variable is directly declared at file scope. This error is C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int main(){ int A; ::A = 0; /* no such variable declared at file scope, Error */ }

How to Fix

Ensure that the referenced global variable is declared at global scope. It is a name whose declaration is visible in global scope because of a using-directive. Alternatively, remove the offending statement that is attempting to access a non-existent global variable.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.3)

cc0283 Compiler Error: qualified name is not allowed

Description

The qualified name cannot be seen from the current scope.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example class A { public: static int Num; }; int main(){ int A::Num = 0; /* A class-qualified name is not allowed here. Error */

117

Page 118: Compiler Error Messages

}

How to Fix Move the statement containing the offending qualified name to an appropriate place in the source where it can be seen.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.3)

cc0284 Compiler Error: NULL reference is not allowed

Description

Initializing a reference to NULL, not allowed. C++ specific.

Severity

Warning, in normal mode

Fatal error, in strict/pedantic mode

Recovery If a warning is indicated, compilation continues.

If a fatal error is indicated, the compiler cannot recover.

Example int main(){ int &p = *(int *)0; }

How to Fix At the appropriate place in the source code, change the initialization of the offending reference to refer to a valid object or function.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.2)

cc0285 Compiler Error: initialization with "{...}" is not allowed for object of type "type"

Description An attempt to do C-style aggregate initialization on a class object for which there is a constructor, nonpublic members, base classes, virtual functions. C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class Y { public: int i; };

118

Page 119: Compiler Error Messages

class X : public Y{ public: int num; }; X obj = { 5, 6 }; int main(){}

How to Fix

Use a constructor to initialize the class object for cases such as described above.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5.1)

cc0286 Compiler Error: base class "type" is ambiguous

Description

The base class is ambiguous. The condition occurs when there a direct non-virtual base class with the same name as an indirect base class. C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct A { int a; }; struct B: virtual public A { }; struct C: public B { }; struct D: public B { }; struct E: public C, public D { }; void foo() { E e; e.B::a = 0; /* base class B is ambiguous */ } int main(){}

How to Fix

Ambiguities can often be resolved by qualifying a name with its class name.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.2)

cc0287 Compiler Error: derived class "type" contains more than one instance of class "type"

Description The derived class is ambiguous. This condition occurs when there are two direct non-virtual classes with the same name. C++ specific.

119

Page 120: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A{ public: int num; }; class B : public A{}; class C : public A{}; class D : public B, public C{}; int D::*pmd = &A :: num; int main(){}

How to Fix Since the derived class contains more than one instance of the base class, it is not possible to determine which of the two instances the offending statement is trying access. Remove the statement.

Resolve the ambiguity by qualifying a name with its class name.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.2)

cc0288 Compiler Error: cannot convert pointer to base class "type" to pointer to derived class "type" -- base class is virtual

Description A conversion from a pointer to base class to a pointer to derived class failed because the base class is a virtual base of the derived class, or a virtual step is on the derivation path.

This error is C++ specific.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example struct VA {};

struct B : virtual VA {};

void main(){

B b;

VA *pva = &b;

B *pb = static_cast<B*>(pva); /* Error: VA is a virtual base of B */

}

120

Page 121: Compiler Error Messages

How to Fix

You cannot convert a pointer to base class to a pointer to derived class when the base class is virtual or a virtual step is on the derived path. Either make the base class (and any other classes on the derivation path) non-virtual or remove the offending conversion statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0289 Compiler Error: no instance of constructor "entity" matches the argument list

Description The arguments passed back by the constructer function call do not match any constructer argument list. C++ specific.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: A( int, double ){} }; A obj(5); int main(){}

How to Fix Ensure that there is a match between the argument lists of the function call and the copy constructor.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.8)

cc0290 Compiler Error: copy constructor for class "type" is ambiguous

Description The compiler has found more than one applicable copy constructor. C++ specific.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example class X { public:

121

Page 122: Compiler Error Messages

X(int){} X(const X&, int = 1){} X(const X&, char = 1){} }; X a(1); X b(a, 0); X c = b; int main(){}

How to Fix

Remove the offending statement and replace it with one that does not contain ambiguity.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.8)

cc0291 Compiler Error: no default constructor exists for class "type"

Description

The compiler has found that a particular class contains copy constructor(s), but not a default constructor. C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class X { public: X(int){} }; X default_obj; int main(){}

How to Fix

At the appropriate place in the source code, add a default constructor for the class.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.1)

cc0292 Compiler Error: "xxxx" is not a non-static data member or base class of class "type"

Description

The class for which a constructor has been defined has no such non-static data member or base class. C++ specific.

Severity

122

Page 123: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example class MyClass { public: MyClass(); protected: int length; }; MyClass::MyClass() : width(){} /* class MyClass has not such non-static data member of base class, Error */ int main(){}

How to Fix

Ensure that all names used in the class constructor definition are non-static data members or base classes of that class. This error may be due to a spelling mistake.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.1)

cc0293 Compiler Error: indirect non-virtual base class is not allowed

Description

The class for which a constructor is being defined has an indirect non-virtual base class. This error is C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct A {

A();

};

struct B1 : A {};

struct B2 : A {};

struct C : B1, B2 {

C() : A() {} /* Error : indirect non-virtual base class A */

};

void main(){}

How to Fix

Make the offending indirect non-virtual base class virtual.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

123

Page 124: Compiler Error Messages

cc0294 Compiler Error: invalid union member -- class "type" has a disallowed member function

Description The particular union member is not valid. A union member's (underlying) cannot be a class with a nontrivial constructor or destructor.

If the constructor or destructor pointer is non-NULL, even if one is generated by the compiler, it will be nontrivial.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: A(){} void point(){} }; union myUnion { A point; }; int main(){}

How to Fix

Locate where the member function that is an invalid union member occurs and remove the class constructor and destructor.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.5)

cc0296 Compiler Error: invalid use of non-lvalue array

Description

An operand is an array rvalue in C mode. The code refers to a non-lvalue array but the context requires an lvalue array.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Change the source code to refer to an lvalue array.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (4.2)

124

Page 125: Compiler Error Messages

cc0297 Compiler Error: expected an operator

Description

The compiler expected an to find an operator at this point in the source code. This error can occur in cases where an operator is overloaded using a member function and the operator used is not a valid operator.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: operator B(); /* error occurs here, "B" is not a valid operator */ }; int main(){}

How to Fix Insert an operator at the place in the source where the compiler expected to find it. Ensure that it is a valid operator.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5)

cc0299 Compiler Error: cannot determine which instance of entity-kind "entity" is intended

Description

The compiler could not determine which overloaded function was intended because the call to the function was ambiguous.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example int foo(){

return 2;

}

int foo(int i){

return i+1;

}

void func(){

int i = 0;

do

125

Page 126: Compiler Error Messages

i += 10;

while(foo); /* Error : foo is ambiguous in this context */

}

void main(){}

How to Fix Ensure that the function call to the intended overloaded function uniquely identifies the function.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0300 Compiler Error: a pointer to a bound function may only be used to call the function

Description

A pointer to a bound function was used in a capacity other than that of calling the function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct A {

void foo(int,double);

};

struct B : A {};

void main(){

B b;

void (A::*pfoo)(int,double) = &(b.A::foo); /* Error: b.A::foo is not

an lvalue */

(b.*pfoo)(1,1);

}

How to Fix Use a pointer to a bound function only as function call without any other operation.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0302 Compiler Error: entity-kind "entity" has already been defined

Description

Trying to define a member function that has already been defined. This error is C++ specific.

126

Page 127: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: void foo(){} }; void A::foo(){} /* attempted redefinition, Error */ void main(){}

How to Fix

Remove the offending member function redefinition.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.2)

cc0304 Compiler Error: no instance of entity-kind "entity" matches the argument list

Description

None of the overloaded functions matches the argument list.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example void foo(){} void foo(int){} void main(){ foo(3, 3); }

How to Fix Ensure that the argument list of the offending function call matches the argument list of one of the overloaded functions declarations.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.3)

cc0305 Compiler Error: type definition is not allowed in function return type declaration

Description

In a function declaration or a pointer-to-function declaration, the return type

127

Page 128: Compiler Error Messages

involves a definition.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S { int x; } foo(int); /* Error: A type cannot be defined in

a function return type */

void main(){}

How to Fix

Type definitions in function return types are prohibited by the standard. Remove the offending type definition.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0306 Compiler Error: default argument not at end of parameter list

Description

In a function declaration parameter list the current parameter has a default argument but its successor does not.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example void foo( int i = 2, int ); void main(){}

How to Fix The default argument in a function definition cannot be followed by arguments that are not default arguments. Restructure the source code, moving default arguments to the end of the parameter list.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.6)

cc0307 Compiler Error: re-definition of default argument

Description

The default argument of a function has been redefined.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

128

Page 129: Compiler Error Messages

Example void foo( int i = 2 ); void main(){} void foo( int i = 3 ){}

How to Fix

A default argument cannot be redefined later by a declaration, not even to the same value. Remove the offending default argument re-definition.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.6)

cc0308 Compiler Error: more than one instance of entity-kind "entity" matches the argument list

Description In an overloaded function call there is more than one function declaration that potentially matches the argument list of the function call. C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void foo( double ); void foo( long ); void main(){ foo(1); }

How to Fix Ensure that the parameter list of each overloaded function declaration is unique.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.3.3)

cc0309 Compiler Error: more than one instance of constructor "entity" matches the argument list

Description

In an overloaded constructor function call there is more than constructor function declaration that matches the argument list of the function call. C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

129

Page 130: Compiler Error Messages

Example class MyClass { public: MyClass(){} MyClass( double ){} MyClass( long ){} }; int main(){ MyClass *NewClass = new MyClass(1); }

How to Fix Ensure that the parameter list of each overloaded constructor function declaration is unique.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.3.3)

cc0310 Compiler Error: default argument of type "type" is incompatible with parameter of type " type"

Description

A function default argument is incompatible with its parameter type.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example void foo( int i = "a" ){} void main(){}

How to Fix

Ensure that the default argument is compatible with the parameter type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.6)

cc0311 Compiler Error: cannot overload functions distinguished by return type alone

Description

A function was overloaded on the basis of a difference in the return type only. C++ specific.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

130

Page 131: Compiler Error Messages

Example int foo(); double foo(); int main(){ foo(); }

How to Fix

The standard states that functions that differ in the return type only cannot be overloaded. If another difference (parameter type, of function parameters, and so on.) between the overloaded functions cannot be found, do not use overloading.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.1)

cc0312 Compiler Error: no suitable user-defined conversion from "type" to "type" exists

Description

The source and destination types are different classes and after considering both constructors and conversion functions, no suitable user-defined conversion function was found.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A { public: A(){} A(int){} }; class B { public: B(){} B(char*){} }; int main(){ A *a = new A(1); B *b = new B("bclass"); *a = *b; }

How to Fix Ensure that a suitable user-defined conversion function, allowing conversion from the source type to the destination type, exists at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3)

131

Page 132: Compiler Error Messages

cc0313 Compiler Error: type qualifier is not allowed on this function

Description

A type qualifier (constant or volatile) was present in a declaration of a function that was not a member function or was a static member function. C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int f(int) const; int main(){}

How to Fix

A qualifier on this type of function is not allowed according to the standard. Restructure the source code, allowing for the removal of the offending type qualifier.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5, 9.4.1)

cc0314 Compiler Error: only non-static member functions may be virtual

Description A static member function was specified as virtual. The error also occurs when a static member function "re-declares" a virtual non-static member function from a base class. C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A { public: static virtual int foo(); }; int main(){}

How to Fix

Only non-static member functions can be specified as virtual. This rule also applies to the new and delete operators, since they are always static.

Declare the offending function as non-static virtual or static non-virtual.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.3.1, 9.4.1)

132

Page 133: Compiler Error Messages

cc0315 Compiler Error: the object has type qualifiers that are not compatible with the member function

Description A qualified member function was called on an object expression when the object expression was more qualified than the member function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct A {

int i;

A() : i(1) {}

void foo() { i++; }

};

volatile A a;

int main(){

a.foo(); /* Error: object-expression is more qualified than

member function */

}

How to Fix

Ensure that the object expression on which the member function was called is equally or less qualified than the member function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0316 Compiler Error: program too large to compile (too many virtual functions)

Description

The number of virtual functions in a class exceeds the maximum number allowed by this compiler.

Severity

Error, non-discretionary

Recovery

The counter representing the number of virtual functions in a class is reset to zero and compilation continues.

Example This error cannot normally be reproduced.

How to Fix Reduce the number of virtual functions in the class where the error occurs.

133

Page 134: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0317 Compiler Error: return type is not identical to nor covariant with return type "type of overridden virtual function entity-kind "entity"

Description

The return type of a function that overrides a virtual function is not identical or covariant with the return type of the overridden function.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A {}; class B : private A{}; class C { virtual A* foo(); }; class D : public C { B* foo(); /* Error: A (base class of B) is inaccessible */ }; int main(){}

How to Fix Ensure that the return type of the overriding function is identical or covariant to that of the overridden function.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.3)

cc0318 Compiler Error: override of virtual entity-kind "entity" is ambiguous

Description This error occurs when more than one function attempts to override a virtual function in the same class scope.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example class V{ public: virtual void foo() {}; }; class A : virtual public V{

134

Page 135: Compiler Error Messages

void foo() {}; }; class B : virtual public V{ void foo() {}; }; class D : public B, public A {}; /* Error, ambiguous */ void main (){ D d; V* vptr = &d; vptr->foo(); /* not clear whether A::foo() or B::foo() */ }

How to Fix

Ensure that only one function within a class scope has the ability to override a particular virtual function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.3)

cc0319 Compiler Error: pure specifier ("=0") allowed only on virtual functions

Description

A pure specifier (=0) has been used on a non-virtual function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A{ public: void foo()=0; /* Error, foo() is not virtual */ }; int main(){}

How to Fix A pure specifier can be used only in the declaration of a virtual function.

Remove the pure specifier from the offending function as it not virtual, or make the offending function virtual.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.2)

cc0320 Compiler Error: badly-formed pure specifier (only "=0" is allowed)

Description

The compiler found an invalid pure specifier (something other than "0" follows the "=").

Severity

135

Page 136: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: virtual void foo()=1; }; int main(){}

How to Fix

A pure-specifier is valid only when "0" follows the "=". Edit the source to ensure that this rule is followed.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.2)

cc0321 Compiler Error: data member initializer is not allowed

Description

The compiler encountered an attempt to initialize a data member within the class definition.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: int i = 1; }; int main(){}

How to Fix

A class member can only be initialized within its class declaration if it is a static const of the integral or enumeration type.

Initialize the offending data member outside of the class definition, for example, inside a member function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.2)

cc0322 Compiler Error: object of abstract class type "type" is not allowed

Description

The type is an abstract class type, so an object of the type cannot be allocated.

Severity

Fatal error

136

Page 137: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

Example class A{ virtual void foo() = 0; /* pure virtual function */ }; int main(){ A a; /* Error: class A is abstract and no objects of it can be created */ }

How to Fix

A class containing one or more pure virtual functions is an abstract class. It can be used only as a base class of some other class and no objects of it can be created.

Remove any pure virtual functions the class may have so that it ceases to be abstract and objects of it can be created, or create a new class that derives from this class and create objects of the new class.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.4)

cc0323 Compiler Error: function returning abstract class "type" is not allowed

Description The return type of a function is an abstract class.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A{ virtual void foo() = 0; /* pure virtual function */ }; A foo(); /* class A is abstract, it cannot be used as a function return type, Error */ int main(){}

How to Fix

Remove any pure virtual functions the class may contain so that it ceases to be abstract and can be used as a function return type, or change the return type of the offending function to a legal return type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.4)

cc0324 Compiler Error: duplicate friend declaration

137

Page 138: Compiler Error Messages

Description

The compiler encountered a duplicate friend declaration.

This message appears only when you compile with the -Wremarks option.

Severity Remark

Recovery After issuing the remark, the compiler ignores the duplicate declaration and compilation continues.

Example class A{ friend class B; friend class B; /* friend class B is re-declared hence the remark */ }; class B{}; int main(){}

How to Fix

Remove the offending friend re-declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.4)

cc0325 Compiler Error: inline specifier allowed on function declaration only

Description

The inline function specifier was used outside of a function declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example inline int i; /* inline specifier outside of function declaration, Error. */ int main(){}

How to Fix

Ensure that the inline specifier is used only in the context of a function declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.2)

cc0326 Compiler Error: "inline" is not allowed

Description

138

Page 139: Compiler Error Messages

The inline function specifier was used on a block scope function declaration, on a declaration that is an explicit reference of a template, or in any other context defined as illegal by the standard.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example int main(){ inline void foo(); };

How to Fix

Ensure that the inline specifier is used only on function declarations that are deemed legal by the ANSI standard.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.2)

cc0327 Compiler Error: bad storage class for an inline function

Description

An inline function is using an illegal storage class.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example inline auto void func1(); /* Error, auto not allowed */ inline register void func2(); /* Error, register not allowed */ inline mutable void func3(); /* Error, mutable not allowed */ class A{ inline mutable void func4(); /* Error, mutable not allowed */ inline auto void func5(); /* Error, auto not allowed */ inline register void func6(); /* Error, register not allowed */ inline extern void func6(); /* Error, extern not allowed */ };

How to Fix

An inline function can use the extern and static storage classes only when the function is declared outside of a class, and the static storage class of the function is declared inside a class.

Ensure that these rules are observed.

139

Page 140: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0328 Compiler Error: invalid storage class for a class member

Description

A class member is using an illegal storage class.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ mutable void foo(); /* Error, mutable not allowed */ auto void fo(); /* Error, auto not allowed */ register void go(); /* Error, register not allowed */ extern void io(); /* Error, extern not allowed */ }; int main(){}

How to Fix The static storage class is the only storage class allowed for class members. Ensure that no other storage class is used for class members.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0329 Compiler Error: local class member entity-kind "entity" requires a definition

Description A member function declared in a local class definition must be defined within the class definition if it is used. Virtual functions are assumed to be used. For a non-virtual function, the error is issued when the function is referenced.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void foo(){ class A{ public: virtual void foo(); /* Error, function requires a definition */ }; } int main(){}

140

Page 141: Compiler Error Messages

How to Fix

Provide a definition for the offending function at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.8)

cc0330 Compiler Error: entity-kind "entity" is inaccessible

Description

The symbol (special function, constructor, destructor, and so on) is not accessible from the current location.

Severity Error, non-discretionary

Warning, if referring to a private class destructor in cfront mode

Recovery

If an error is indicated, the compiler attempts to ignore the inaccessible statement and compilation continues.

If a warning is indicated, the compiler ignores the inaccessible statement and compilation continues.

Example namespace N { class A { A(int); }; } class B : public N::A { B() : A(0) {} /* N::A::A is inaccessible from the current location */ }; int main(){}

How to Fix Restructure the source in the appropriate manner, ensuring that the offending symbol becomes accessible.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12)

cc0334 Compiler Error: class "type" has no suitable copy constructor

Description

No applicable copy constructor is available.

Severity

Fatal error

Recovery

141

Page 142: Compiler Error Messages

The compiler cannot recover from this error.

Example struct A { A(); A(A&); }; const A B; A C = B; // error A::A(A&) cannot copy B into C int main(){}

How to Fix

Add a suitable copy constructor to the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.8)

cc0335 Compiler Error: linkage specification is not allowed

Description

It is illegal to specify a storage class in conjunction with an external name linkage.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example static extern “C” void f1(); /* static storage class with extern name linkage */ extern extern “C” void f2(); /* extern storage class with extern name linkage */ void main(){ }

How to Fix Remove the storage class specifier from the declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.5)

cc0336 Compiler Error: unknown external linkage specification

Description

The linkage specifier is not recognized.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example extern "B" void foo(); /* "B" is not a valid linkage specifier, causing the

142

Page 143: Compiler Error Messages

Error. */ int main(){}

How to Fix Replace the offending linkage specifier with a valid one.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.5)

cc0337 Compiler Error: linkage specification is incompatible with previous "entity" (declared at line xxxx)

Description

The linkage specification of a function or variable is incompatible with the linkage specification from an earlier declaration.

Severity Fatal error, when referring to a function

Warning, when referring to a variable

Recovery

If a fatal error is indicated, the compiler cannot recover.

If a warning is indicated, the compiler continues using the last linkage specification.

Example extern "C" void foo(); int main(){} extern "C++" void foo(){}

How to Fix

Ensure that the two linkage specifications are identical.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.5)

cc0338 Compiler Error: more than one instance of overloaded function "entity" has "C" linkage

Description

Illegal overloading involving two extern "C" functions with the same name.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example extern "C" void foo(int); extern "C" void foo(float); int main(){}

How to Fix

143

Page 144: Compiler Error Messages

Ensure that the program does not contain more than one instance of an overloaded function that has "C" linkage.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1)

cc0339 Compiler Error: class "type" has more than one default constructor

Description More than one default constructor is present for the current class.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: A(); A(int i = 0); private: int i; }; int main(){ A a; /* A::A() and A::A( int=0 ) are both default constructors causing the ambiguity error */ }

How to Fix Remove the extra default constructor.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.1)

cc0340 Compiler Error: value copied to temporary, reference to temporary used

Description

A value was copied to a temporary variable, or a constant reference was initialized with a temporary variable.

Severity Remark

Recovery The remark informs you that a temp was used. Compilation continues after the remark.

Example int main(){ const int& i = 2+2; }

144

Page 145: Compiler Error Messages

How to Fix

Restructure the source code, eliminating the use of the temporary variable in such a context.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.2)

cc0341 Compiler Error: "operatorxxxx" must be a member function

Description

An operator that can be overloaded by using a member function only was overloaded using a function that was not a member function. For example, the assignment operator (=) can be overloaded by a member function only.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S{ int i; }; void operator = ( const S& p ); int main(){}

How to Fix Use a member function to overload the offending operator.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5)

cc0342 Compiler Error: operator may not be a static member function

Description

The compiler encountered an operator function that is a static member function.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example struct S{ int i; static void operator = ( const S& p ); }; int main(){}

How to Fix An operator function cannot be a static member function. Make the offending function non-static. As an alternative, use a non-member function (if allowed by the

145

Page 146: Compiler Error Messages

standard) for this particular operator.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5)

cc0343 Compiler Error: no arguments allowed on user-defined conversion

Description

A conversion function is using one or more parameters.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class X { public: operator int(int i); /* The conversion function declaration is using a parameter causing the Error */ }; int main(){}

How to Fix

Parameter types cannot be specified with conversion functions.

Remove the offending function parameter(s).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3.2)

cc0344 Compiler Error: too many parameters for this operator function

Description

A unary operator has been implemented by a non-static member function with a parameter(s) or by a non-member function with more than one parameter, or a binary operator has been implemented by a non-static member function with more than one parameters or by a non-member function with more than two parameters.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: void operator - (int i, int j); /* too many parameters causing the Error. */ }; void main(){}

146

Page 147: Compiler Error Messages

How to Fix

If the offending operator function implements a unary operator, ensure that if it is a non-static member function it does not contain any parameters. If it is a non-member function, ensure that it contains only one parameter.

If the offending operator function implements a binary operator, ensure that if it is a non-static member function it contains one parameter. If it is a non-member function, ensure that it contains two parameters.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5.1, 13.5.2)

cc0345 Compiler Error: too few parameters for this operator function

Description

A unary operator has been implemented by a non-member function with no parameters, or a binary operator has been implemented by a non-static member function with more no parameters or by a non-member function with less than two parameters.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: void operator && (); }; void main(){}

How to Fix If the offending operator function implements a unary operator, ensure that if it is a non-static member function it does not contain any parameters. If it is a non-member function, ensure that it contains only one parameter.

If the offending operator function implements a binary operator, ensure that if it is a non-static member function it contains one parameter. If it is a non-member function, ensure that it contains two parameters.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5.1, 13.5.2)

cc0347 Compiler Error: default argument is not allowed

Description A default argument expression was specified in an overloaded operator declaration or anywhere outside of the parameter declaration clause of a function declaration or outside of a template parameter.

Severity

147

Page 148: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example class A { public: void operator && (int i = 0); /* Default argument not allowed in overloaded operator declarations. */ }; void main(){}

How to Fix Remove the offending default argument.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.6)

cc0348 Compiler Error: more than one user-defined conversion from "type" to "type" applies

Description An ambiguous user-defined conversion was encountered.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example struct B; struct A { int i; A() {} A(B&) {} }; struct B { operator A() { return A(); } /* type conversion function */ }; void main(){ B ob; A oa = ob; /* Error: ambiguity between operator A() and A(B&) */ }

How to Fix

User-defined conversions are applied only where they are unambiguous.

Edit the source file to resolve the ambiguity and ensure that one user-defined conversion only is applicable in this particular case.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

148

Page 149: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3)

cc0349 Compiler Error: no operator "xxxx" matches these operands

Description

There is no applicable operator function for these operands.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example struct S { S(); S& operator=(S&); }; const S cx; S x; void f() { x = cx; /* Error, "=" is not applicable to these operands. */ } int main(){}

How to Fix

Remove the offending statement or provide an applicable operator function that matches the operands.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.8)

cc0350 Compiler Error: more than one operator "xxxx" matches these operands

Description More than one applicable function for these operands causes ambiguity.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S {} s; S f() { return s; } S& g() { return s; } int main(){ int i = 3; S s; ( (i>2) ? f() : g() ) = s; /* Error, ambiguous */ }

149

Page 150: Compiler Error Messages

How to Fix

Ensure that there is only one operator function applicable to each operand.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.8)

cc0351 Compiler Error: first parameter of allocation function must be of type "size_t"

Description

The first parameter of an allocation function was not of type size_t.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #include <iostream.h> void *operator new[](int, size_t size); /* First parameter not of type "size_t" - Error */ int main(){}

How to Fix

Ensure that the first parameter of the offending allocation function is of type size_t.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3.1)

cc0352 Compiler Error: allocation function requires "void *" return type

Description

The return type of an allocation function for operator new or operator new[] was not "void *".

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example #include <iostream.h> int operator new[](size_t size); /* Return type "int" - Error */ int main(){}

How to Fix

150

Page 151: Compiler Error Messages

Change the return type of the offending allocation function to "void *".

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3.1)

cc0353 Compiler Error: deallocation function requires "void" return type

Description

The return type of a de-allocation function for operator delete or operator delete[] was not "void".

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example #include <iostream.h> int operator delete[](void* size); int main(){}

How to Fix

Change the return type of the offending de-allocation function to "void".

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3.2)

cc0354 Compiler Error: first parameter of deallocation function must be of type "void *"

Description

The first parameter of a de-allocation function was not of type "void *".

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void operator delete[](int); int main(){}

How to Fix

Ensure that the first parameter of the offending de-allocation function is of type "void *".

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

151

Page 152: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3.2)

cc0357 Compiler Error: base class "type" has already been initialized

Description

A base class was initialized for a second time.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: A(); }; class B : public A{ public: B(); }; A::A(){} B::B() :A(), A(){} /* Error: base class A initialized twice */ void main(){}

How to Fix

Remove the offending initialization statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.6.2)

cc0359 Compiler Error: entity-kind "entity" has already been initialized

Description A class member was initialized for a second time.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: A(); public: int i; };

152

Page 153: Compiler Error Messages

A::A() :i(3), i(4){} /* Error: class member I initialized twice */ void main(){}

How to Fix Remove the offending member initialization statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.6.2)

cc0360 Compiler Error: name of member or base class is missing

Description

In a base class initialization statement or member initialization statement, the name of the base class or member is missing.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example class A{ public: A(); public: int i; }; A::A() :(3){} /* Error: member name is missing */ void main(){}

How to Fix Insert the missing base class name or member name at the appropriate place in the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.6.2)

cc0363 Compiler Error: invalid anonymous union -- nonpublic member is not allowed

Description

A non-public member was declared within an anonymous union.

Severity Fatal error

Recovery

153

Page 154: Compiler Error Messages

The compiler cannot recover from this error.

Example static union{ private: int i; /* Error: non-public anonymous union member not allowed */ }; void main(){}

How to Fix An anonymous union cannot have private or protected members. Edit the source file, making the offending union member public.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.5)

cc0364 Compiler Error: invalid anonymous union -- member function is not allowed

Description A member function was declared within an anonymous union.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example static union{ void foo(); /* Error: anonymous union member function not allowed */ }; void main(){}

How to Fix

An anonymous union cannot have member functions. Remove the offending member function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.5)

cc0365 Compiler Error: anonymous union at global or namespace scope must be declared static

Description An anonymous union was declared non-static at global or namespace scope.

Severity Fatal error

Recovery

154

Page 155: Compiler Error Messages

The compiler cannot recover from this error.

Example union{}; /* Error: non-static anonymous union declaration at global scope */ void main(){}

How to Fix Make the offending union declaration static or remove the declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.5)

cc0366 Compiler Error: entity-kind "entity" provides no initializer for

Description

A non-static data member of const-qualified type was found, or a reference member was not initialized in the default constructor definition.

Severity

Error, non-discretionary

Recovery

The compiler issues a diagnostic, and compilation continues.

Example class A{ A(); const int i; int j; }; A::A() : j(1) /* Error: variable i not initialized */ {} int main(){}

How to Fix

Initialize the offending data member at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.6.2)

cc0367 Compiler Error: implicitly generated constructor for class "type" cannot initialize

Description

A non-static data member of const-qualified type was initialized, or of a reference member was attempted by an implicitly generated default constructor.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

155

Page 156: Compiler Error Messages

Example class A { int &i; }; class B : public A { int j; B() : j(1) {} /* Error : implicitly generated constructor cannot initialize the reference member of the class */ }; int main(){}

How to Fix Use a user-written default constructor to initialize non-static data members of const-qualified type and reference members.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.1)

cc0369 Compiler Error: entity-kind "entity" has an uninitialized const or reference member

Description

An entity (class, struct, or union) has a non-static data member of const-qualified type or a reference member that was not initialized. C++ only.

Severity Error, non-discretionary

Recovery

The compiler issues the diagnostic, and compilation continues.

Example class A { public: const int i; }; void main(){ A a; /* Error: variable a has an uninitialized const member i */ }

How to Fix

Declare a default constructor for the entity that has the uninitialized const-qualified type member or reference member, and initialize the member in the member initialization list of the constructor definition.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.6.2)

cc0371

156

Page 157: Compiler Error Messages

Compiler Error: class "type" has no assignment operator to copy a const object

Description

The class has no const assignment operator function needed to copy a const object.

Severity

Fatal Error

Recovery

The compiler cannot recover from this error.

How to Fix

Provide the missing const assignment operator function at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0372 Compiler Error: class "type" has no suitable assignment operator

Description The compiler expected to find a volatile or const-volatile assignment operator function. This case is unusual.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Provide the needed operator function at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0377 Compiler Error: "virtual" is not allowed

Description

The "virtual" specifier was used outside of a declaration of a non-static class member function or outside of a C++ class (or struct or union) declaration.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ virtual A(); /* Error: constructors may not be virtual */ };

157

Page 158: Compiler Error Messages

void main(){}

How to Fix

Ensure that the "virtual" specifier is used only in C++ class (or struct or union) declarations or in the declarations of non-static class member functions that appear within a member-specification of a class declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.2, 10.1)

cc0378 Compiler Error: "static" is not allowed

Description A class constructor function, a class destructor function, or a main function was declared static.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example static void main(){}

How to Fix

Ensure that constructors, destructors, and main are not declared static.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.6.1, 12.1, 12.4)

cc0380 Compiler Error: expression must have pointer-to-member type

Description The type of the second operand must be pointer to member.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Replace the offending expression with an expression that has a pointer to member type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0381 Compiler Error: extra ";" ignored

158

Page 159: Compiler Error Messages

Description

There is an empty class (structure or union) declaration containing a semicolon or an extra semicolon at the end of a source file.

Severity Warning, when within a class (structure or union) declaration in C++

Remark, when at the end of a source file in C and C++

Recovery

The extra ";" is ignored, and compilation continues.

Example struct S { ; /* Warning: "extra ";" ignored" in C++, }; int main(){ }; /* Remark: "extra ";" ignored" in C and C++ */

How to Fix Remove the offending semicolon.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (N\A)

cc0382 Compiler Error: nonstandard member constant declaration (standard form is a static const integral member

Description

A const declaration is of a non-static, non-integral member.

Severity

Warning

Error, in strict ANSI mode

Recovery The constant name is entered in the symbol table after scanning the expression to avoid problems with a recursive reference. Compilation continues.

Example class Thing { public: const int a = 10; }; void main(){}

How to Fix

Ensure that the offending const declaration is of a static const integral member.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.29.29.29.29.29.29.29.29.2)

cc0384

159

Page 160: Compiler Error Messages

Compiler Error: no instance of overloaded "entity" matches the argument list

Description

There is no instance of the overloaded "new" function that matches the argument list of the caller.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example #include <stddef.h> /* needed for size_t */ struct S { void *operator new(size_t){ S *p; p = ::new S; return p; } void operator delete(void *pv){ ::delete pv; } }; void main(){ S *px; px = new (3) S; /* Error: no S::operator new(size_t,int) */ delete px; }

How to Fix

Ensure that the argument list of an instance of the overloaded "new" function matches the arguments of the caller function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5)

cc0386 Compiler Error: no instance of entity-kind "entity" matches the required type

Description The compiler did not find a match for the address of an overloaded function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int f(int i) { return i; } double f(double d) { return d; } int main(){

160

Page 161: Compiler Error Messages

int (*pf) (float) = &f; /* Error: Address does not match with the address of an overloaded function. */ }

How to Fix Ensure that the address matches an address of an overloaded function. In the above example, the error can be fixed as follows: int f(int i) { return i; } double f(double d) { return d; } int main(){ int (*pf) (int) = &f; /* Replacing float with an int, to match the address of an instance of the overloaded function. */ }

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.4)

cc0388 Compiler Error: "operator->" for class "type" returns invalid type "type"

Description

The return type of the operator-> function is not valid.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class X{

public:

int &operator ->();

int a;

};

X obj;

main()

{

obj->a = 12;

}

How to Fix

The return type must be set to a pointer to a class or an object of or reference to a class for which operator-> is defined.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0389

161

Page 162: Compiler Error Messages

Compiler Error: a cast to abstract class "type" is not allowed

Description An abstract class was used as the type of an explicit conversion. C++ specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class B{}; class A : B{ virtual int avf() = 0; /* pure virtual function */ }; class D : A{ int avf(){ return 1; } }; int func(B ob); void main(){ D d; int val = func((A)d); /* Error: cannot cast to an abstract class */ }

How to Fix

In C++, a cast to a class is permitted, but a cast to an abstract class is not permitted.

Ensure that the class used for casting is not abstract, or remove the offending statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.9)

cc0390 Compiler Error: function "main" may not be called or have its address taken

Description

The "main" function was called or had its address taken.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example void main(); void foo(){ main(); /* Error : cannot call "main" */ } void main(){}

162

Page 163: Compiler Error Messages

How to Fix

The "main" function cannot be called. Remove the offending statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (Annex C 3.6)

cc0391 Compiler Error: a new-initializer may not be specified for an array

Description

A new-initializer was specified for an array type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct A{ A( int ); }; A *p = new A[10] ( 12 ); /* Error: new-initializer on an array type */ void main(){}

How to Fix

The initialization of arrays created with operator new can be done only with default constructors. The use of another constructor with arguments is not permitted.

Use a default constructor to initialize the array, or remove the offending statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.4)

cc0392 Compiler Error: member function "entity" may not be re-declared outside its class

Description

A non-defining declaration of a member function is not allowed.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #include <iostream.h>

class A

{

163

Page 164: Compiler Error Messages

public:

void* operator new( size_t );

void operator delete( void*, size_t );

};

void A::operator delete(void *, size_t); /* Error: member function

"A::operator delete" may not

be redeclared outside its

class */

void main() {}

How to Fix

Provide a function definition for the redeclared function.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0393 Compiler Error: pointer to incomplete class type is not allowed

Description A pointer to an incomplete class was encountered.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S; /* undefined class */ extern S so; void main(){ S *sp=&so; sp->data=5; /* Error: pointer to incomplete class not allowed */ }

How to Fix

Make the class pointed to complete, or remove the offending statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.3)

cc0394 Compiler Error: reference to local variable of enclosing function is not allowed

Description

A reference to non-static variables of the containing function was attempted inside a local class; or a reference of local variables of a containing function was attempted inside a default argument expression.

164

Page 165: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example int func() { int x; struct A { int ia; A() : ia(x) {} /* Error : cannot access local variable "x" */ }; A a; return (a.ia); } void main(){}

How to Fix Inside a local class, a reference to non-static variables of the containing function is not permitted. Inside a default argument expression, a reference to local variables of any containing function is not permitted.

Ensure that the above rules are observed at all times.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.8)

cc0397 Compiler Error: implicitly generated assignment operator cannot copy

Description

The class for which a copy assignment operator was generated has a non-static data member of constant type or a non-static data member of reference type or a non-static data member of class type (or array thereof) with an inaccessible copy assignment operator or a base class with an inaccessible copy assignment operator.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class C { public: C(); const int s; }; int main(){ C a; C b = a; b = a; }

How to Fix

165

Page 166: Compiler Error Messages

Ensure that the class for which a copy assignment operator was implicitly defined does not have any non-static data members of const type, non-static data members of reference type, non-static data members of class type (or array thereof) with an inaccessible copy assignment operator, or a base class with an inaccessible copy assignment operator.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.8)

cc0399 Compiler Error: entity-kind "entity" has an operator newxxxx() but no operator deletexxxx()

Description

The class has an operator new() but no default operator delete().

Severity

Remark, when compiled with the -Wremarks option

Recovery

The compiler issues the remark, and compilation continues.

Example /* #include iostream.h to eliminate "error #20: identifier "size_t" is undefined", it is omitted here in order to avoid the diagnostics caused by iostream.h */ class A{ public: void* operator new(size_t); }; void main(){}

How to Fix

Provide the class with a default operator delete().

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.4, 5.3.5)

cc0400 Compiler Error: entity-kind "entity" has a default operator deletexxxx() but no operator newxxxx()

Description

The class has an operator delete(), but does not have a default operator new().

Severity

Remark, when compiled with the -Wremarks option

Recovery The compiler issues the remark, and compilation continues.

Example class A{

166

Page 167: Compiler Error Messages

public: void operator delete(void*); }; void main(){}

How to Fix

Provide the class with a default operator new().

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.5, 5.3.4)

cc0401 Compiler Error: destructor for base class "type" is not virtual

Description

A base class has a non-virtual destructor.

Severity

Remark, only when compiled with the -Wremarks option

Recovery The compiler issues the remark and compilation continues.

Example class A{ public: A(); ~A(); /* Remark: destructor is not virtual */ }; class B : public A{ public: B(); ~B(); }; void main(){}

How to Fix

Make the destructor of the base class virtual.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.4)

cc0403 Compiler Error: entity-kind "entity" has already been declared

Description A member function was re-declared.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

167

Page 168: Compiler Error Messages

Example class MyClass{ public: MyClass(); MyClass(); /* Error: member function declared twice */ }; void main(){}

How to Fix

Remove the statement re-declaring the member function from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.3)

cc0404 Compiler Error: function "main" may not be declared inline

Description

The global "main" function was declared inline.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example inline void main(){} /* Error: function "main" cannot be declared inline */

How to Fix

Ensure that global function "main" is not declared inline.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.6.1)

cc0405 Compiler Error: member function with the same name as its class must be a constructor

Description An identifier that is not a constructor and that has the same name as a class is being declared within the class.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S { int i; void S() { i = 10; } /* Error: function specifies a return type; therefore,

168

Page 169: Compiler Error Messages

it cannot be a constructor */ }; void main(){}

How to Fix Rename the offending function. A function with the same name as its class has to be a constructor.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.1)

cc0406 Compiler Warning: using nested entity-kind "entity" (anachronism)

Description A typename defined within a class definition was used outside its class without qualification. This use is not allowed according to the ANSI standard, but the compiler allows it as an anachronism and issues a warning.

Severity

Warning

Recovery

Compiler issues the diagnostic and compilation continues.

Example class X

{

public:

typedef int I;

I a;

};

I b; /* Warning using nested type "X::I" (anachronism) */

void main() {}

How to Fix

Do not use a typename that was defined within a class definition outside of its class without qualification.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0407 Compiler Error: a destructor may not have parameters

Description

A destructor function was a given a parameter(s).

Severity

Fatal error

169

Page 170: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

Example class A{ A(); ~A(int); /* Error: the class destructor has a parameter */ }; void main(){}

How to Fix

Remove the offending parameter(s).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.4)

cc0408 Compiler Error: copy constructor for class "type" may not have a parameter of type "type"

Description

A copy constructor is ill-formed. Four possibilities are:

Case 1 - A::A(A);

Case 2 - A::A(A, T=x);

Case 3 - A::A(A&, A=y);

Case 4 - A::A(A&, T=x, A=y);

Case 1. The type of the first parameter is identical to the type of the parent class.

Case 2. The second parameter has a default argument and the first argument is not a reference to the parent class but is identical to the type of the parent class.

Cases 3 and 4. The type of this parameter is identical to the type of the parent class.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S { S(S); /* Error: the type of the constructor parameter is the same as that of the parent class. */ }; void main(){}

How to Fix Ensure that the type of the first parameter or any following parameters of the copy constructor is not identical to the type of the parent class and also if the second parameter has a default argument then the first parameter is not identical to the parent class but a reference of it.

Related Information

170

Page 171: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.8)

cc0409 Compiler Error: "entity-kind "entity" returns incomplete type "type"

Description A function returns an incomplete class type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S; /* struct S is incomplete */ S f(); void g() { f(); } /* Error: S is incomplete */ void main(){} struct S{}; /* struct completed here */ S f(){ return S(); }

How to Fix If the class is used in a way that requires the class type to be complete, as is presumably in the current case, ensure that exactly one definition of the class is present in the current translation unit.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0410 Compiler Error: protected entity-kind "entity" is not accessible through a "type" pointer or object

Description

A protected non-static member of a base class could not be accessed through a pointer or object.

Severity Error, non-discretionary

Recovery

The compiler issues the error, ignores the statement, and continues the compilation process.

Example class A { public: A(){} virtual ~A(){} protected:

171

Page 172: Compiler Error Messages

void f1() {} /* function not static */ }; class B : public A { public: B(){} ~B(){} int friendFunc(A*); }; int B::friendFunc(A *pa) { pa->f1(); /* Error : f1 is not accessible thru 'pa' */ return 1; } void main(){}

How to Fix The inaccessible protected member must either me made static while remaining protected, or be made public in order to be accessed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.5)

cc0411 Compiler Error: a parameter is not allowed

Description A C++ default argument expression refers to a parameter.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example int i = 1; void foo(int i = i){} /* Error: variable name 'i' hidden by name 'i' */ void main(){ foo(); }

How to Fix

Ensure that parameters of a function are not be used in default argument expressions even if they are not evaluated.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.6)

cc0412 Compiler Error: an "asm" declaration is not allowed here

172

Page 173: Compiler Error Messages

Description

An asm declaration is not allowed in the current scope.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct A {

asm ("f");

};

void main(){}

How to Fix

Remove the offending asm declaration from the current scope.

An asm function can appear only at file scope, function scope, and block scope.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0413 Compiler Error: no suitable conversion function from "type" to "type" exists

Description No suitable conversion function exists to convert a user-defined type to a build-in type.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example struct S{} s; /* user defined type */ int i; /* built-in type */ void main (){ i = s; /* Error: type mismatch */ }

How to Fix Define a suitable conversion function at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3)

cc0415 Compiler Error: no suitable constructor exists to convert from "type" to "type"

Description

173

Page 174: Compiler Error Messages

The source type is a non-class type, the destination type is a class type, and no suitable constructor was found to make the conversion.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S { /* S has no constructors */ int s; }; void main(){ S *ps = new S(1); /* Error: no suitable constructor "new" initializer */ ps++; /* suppresses any warnings */ }

How to Fix

Define a suitable constructor at the appropriate place in the source code, making the conversion possible.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3.1)

cc0416 Compiler Error: more than one constructor applies to convert from "type" to "type"

Description A conversion by constructor is ambiguous because more than one constructor could be used to make the conversion.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S {

S(int);

S(char);

};

S s()

{

return 1.0; /* Error: more than one constructor applies to convert

from "double" to "S":

function "S::S(dm int) dm"

function "S::S(dm char) dm" */

}

void main(){}

174

Page 175: Compiler Error Messages

How to Fix

Ensure that only one constructor is applicable to the current conversion.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3, 12.3.1)

cc0417 Compiler Error: more than one conversion function from "type" to "type" applies

Description

A conversion is ambiguous as more than one conversion function could be used to make the conversion.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct A { operator int() { int i; return i; } operator double() { double d; return d; } } a; int main(){ float val = a; /* Error: ambiguity between operator int() and operator double() */ }

How to Fix Eliminate the ambiguity by ensuring that only one conversion function can be used to make the conversion.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3.2)

cc0418 Compiler Error: more than one conversion function from "type" to a built-in applies

Description A built-in type has more than one possible conversion.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S { int i; operator int(); };

175

Page 176: Compiler Error Messages

struct T : S { int j; operator double(); }; void main(){ T t; if (t) {} /* Error: t.operator int() or t.operator double() */ }

How to Fix

Eliminate the ambiguity by ensuring that only one conversion function can be used to make the conversion.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3.2)

cc0424 Compiler Error: a constructor or destructor may not have its address taken

Description

The address of a constructor or destructor was taken.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class MyClass { public: MyClass(){} }; void main(){ MyClass::MyClass(1); }

How to Fix

Taking the address of a constructor or destructor is illegal.

Remove the offending statement from the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.1, 12.4)

cc0425 Compiler Error: dollar sign ("$") used in identifier

Description

A dollar sign "$" was used in an identifier. This error occurs only when you compile with the -dollar option (allows dollar signs in identifiers) and with the -strict option.

176

Page 177: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main(){ int one$ = 1; /* Error in strict mode */ one$++; /* suppressing the warning */ }

How to Fix

Do not compile with the -strict option.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0427 Compiler Error: qualified name is not allowed in member declaration

Description

A qualified name was used in a member declaration statement.

Severity

Warning, when accepting qualified member names is an extension

Fatal error, when a definition uses a qualified name in a class scope

Recovery If a warning is indicated, the qualified member name is accepted, and compilation continues.

If a fatal error is indicated, the compiler cannot recover.

Example class A{ public: void A::foo(void); }; void main(){}

How to Fix

Ensure that qualified names are not used in member declaration statements.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C".

ISO/IEC 14882:1998 "Programming Languages - C++" (9.2)

cc0429 Compiler Error: the size of an array in "new" must be non-negative

Description

A negative value was used when the size of an array was allocated with the "new" operator.

Severity

177

Page 178: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example void main(){ int *pArray = new int[-10]; }

How to Fix

Replace the negative value with a positive one.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.4)

cc0432 Compiler Error: "enum" declaration is not allowed

Description A declaration is not allowed, for example: extern "C" enum E { e1, e2, e3 };

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example extern "C" enum E { e1, e2, e3 }; int main(){}

How to Fix

Remove the offending statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.5, 7.1.1)

cc0433 Compiler Error: qualifiers dropped in binding reference of type "type" to initializer of type "type"

Description

Type qualifiers were dropped in the binding of a reference type to an incompatible initializer type.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example volatile int vi;

178

Page 179: Compiler Error Messages

void main() { const volatile int& CVIR = vi; /* Error : cannot initialize a volatile reference with a const volatile reference */ volatile int& VIR = CVIR; if (VIR) {} /* suppress warning */ }

How to Fix

When binding a reference to an initializer, ensure that the reference type is compatible with the initializer type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5, 8.5.3)

cc0434 Compiler Error: a reference of type "type" (not const-qualified) cannot be initialized with a value of type "type"

Description You are attempting to initialize a reference of a not const-qualified type with a value of a type that is not reference related.

This error applies only when you compile with the -strict or -pedantic option. The compiler usually outputs error cc0426: "temporary used for initial value of reference to non-const (anachronism)".

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example volatile char ch ='A'; void main(){ volatile float& r = ch; /* Error: the types used are not related */ r++; /* suppresses warning */ }

How to Fix

When initializing a reference of not const-qualified type, ensure that it is initialized with a value of a type that is reference related. For instance, to compile the above example, replace volatile float& r = ch; with volatile char& r = ch;.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5.3)

cc0435 Compiler Error: a pointer to function may not be deleted

179

Page 180: Compiler Error Messages

Description

A "delete" expression was used on a pointer to a function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void foo( int i ){} void (*p)(int); /* pointer to function */ void main(){ p = &foo; /* p points to foo */ delete p; /* Error: attempting to delete p */ }

How to Fix

A pointer to a function cannot be allocated, and thus, cannot be deleted.

Remove the offending statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.4, 5.3.5)

cc0436 Compiler Error: conversion function must be a nonstatic member function

Description

A conversion function was declared as a static member function or as a non-member function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: static operator int(int i); /* Error: conversion function declared static */ }; void main(){}

How to Fix

Ensure that the conversion function is declared as a static member function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3.2)

cc0437 Compiler Error: template declaration is not allowed here

180

Page 181: Compiler Error Messages

Description

The template declaration is not allowed in the current scope.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void foo() { class A { public: template<class T> void Test(T&){} /* Error: template declaration not allowed in the local scope of a function */ }; } void main(){ foo(); }

How to Fix

Ensure that the template declaration appears only at namespace scope or class scope.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14)

cc0438 Compiler Error: expected a "<"

Description

The "<" sign is missing in a dynamic cast expression.

The C/C++ Compiler : SHARC version 6.1.0 does not support dynamic cast.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A {}; class B : public A {}; class C : public B {}; void main(){ C *pC = new C; B* pB = dynamic_cast C*>(pC); /* Error: "<" missing */ }

How to Fix

181

Page 182: Compiler Error Messages

Insert the missing "<" sign at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7)

cc0439 Compiler Error: expected a ">"

Description

The ">" sign is missing in a dynamic cast expression, or in nested template argument lists one of the template list delimiters is missing.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <class A,class T> class key {}; template <class A> class vector {}; class key <int, vector<int> ; /* Error: ">" missing */ void main (){}

How to Fix

Insert the missing ">" sign at the appropriate place in the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7, 14.2)

cc0440 Compiler Error: template parameter declaration is missing

Description The end of the template parameter list was reached unexpectedly.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template<class T,> void Test(T&){} /* Error: a comma after the first parameter declaration implies that another parameter declaration is to follow, causing the compiler to issue the error */ void main(){}

How to Fix

Ensure that the template parameter list is completed.

Related Information

182

Page 183: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0441 Compiler Error: argument list for entity-kind "entity" is missing

Description

Default template-arguments were used, but the empty <> brackets were not used as the template-argument-list.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template<class T = int> class A { public: int i; A() : i(0) {} }; void main(){ A a; /* Error: The empty <> brackets cannot be dropped. */ if (&a) { } /* suppress remark */ }

How to Fix

When default template-arguments are used, ensure that the empty <> brackets are still used as the template-argument-list. Insert the empty <> brackets at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3)

cc0442 Compiler Error: too few arguments for entity-kind "entity"

Description

Not all of the formal parameters have been accounted for. Too few template arguments were supplied.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T, class W> class A { T tx; W wx; };

183

Page 184: Compiler Error Messages

A<int> a; /* Error: too few arguments for class template "A" */ int main(){}

How to Fix Ensure that the number of the supplied template arguments matches the number of formal parameters. Insert the missing template arguments at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3)

cc0443 Compiler Error: too many arguments for entity-kind "entity"

Description

All of the formal parameters have been accounted for, and more actuals exist. Too many template arguments were supplied.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T, class W> class A { T tx; W wx; }; A<int, double, float> a; /* Error: too many arguments for class template "A" */ int main(){}

How to Fix

Ensure that the number of supplied template arguments matches the number of formal parameters. Remove the excess template arguments.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3)

cc0445 Compiler Error: entity-kind "entity" is not used in declaring the parameter types of entity-kind "entity"

Description Not all template parameters were used in declaring the parameter types of a template function.

Severity

Remark, only when you compile with the -Wremarks option

184

Page 185: Compiler Error Messages

Recovery

The compiler generates a pointer to indicate that a template parameter has not been used, and compilation continues.

Example template<class T> T foo( ); /* Remark: template parameter "T" is not used in declaring the parameter types of function template "foo" */ void main(){}

How to Fix Ensure that all template parameters are used when declaring the parameter types of a template function. Insert the missing parameters at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3)

cc0450 Compiler Error: the type "long long" is nonstandard

Description

The "long long" type was used in the declaration of a variable. This error is issued only when compiling with the -strict and -pedantic command-line options.

Severity

When Severity

Compiling with -strict and "long long" is allowed

Error, non-discretionary

Compiling with -pedantic and "long long" is allowed

Warning

"long long" is not allowed

Fatal error

Recovery

When Severity

Error Compilation continues

Warning Compilation continues

Fatal Error The compiler cannot recover

Example void main(){ long long Num; }

How to Fix

Replace the "long long" type specifier with a legal type specifier, for example, "long".

185

Page 186: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0451 Compiler Error: omission of "xxxx" is nonstandard

Description

A declaration of a friend class with the class (struct, union) keyword was omitted.

Severity

Remark, when you compile with the -Wremarks option

Fatal error, when you compile with the -strict option

Recovery

If a remark is indicated, the compiler accepts the declaration.

If a fatal error is indicated, the compiler cannot recover.

Example class A { int a; }; class B { friend A; /* class keyword missing */ }; void main(){}

How to Fix

Insert the class (struct, union) keyword in front of the class (struct, union) name.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.4)

cc0452 Compiler Error: return type may not be specified on a conversion function

Description A return type is present in a conversion function.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ public: int operator int(); }; void main(){}

How to Fix

Remove the conversion function return type from the source file.

186

Page 187: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3.2)

cc0456 Compiler Error: excessive recursion at instantiation of entity-kind "entity"

Description

A class instantiation occurs within the context of other instantiations of the same class template. When the number of such instantiations-in-progress exceeds a configuration constant value, run-away recursion is assumed.

A function instantiation occurs within the context of other instantiations of the same function template. When the number of such instantiations-in-progress exceeds a specified value, run-away recursion is assumed. The compiler can catch only recursive instantiations of inline functions and instantiations done during instantiation wrap-up.

An instantiation occurs within the context of other instantiations of the same static data member. When the number of such instantiations exceeds a specified limit, runaway recursion is assumed.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> class A { A<T*> a; /* Error: excessive recursion in instantiations */ }; void main(){ A<int> a; if (&a) { } /* suppresses warnings */ }

How to Fix

Ensure that the number of recursive instantiations does not exceed the maximum allowed quantity specified by the compiler. Check compiler documentation.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.1)

cc0457 Compiler Error: "xxxx" is not a function or static data member

Description

The template declaration is not a class template, a function template, or a static data member template.

Severity

Fatal error

187

Page 188: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

Example template<class T> void foo(anything<T>&); void main(){}

How to Fix

Replace the offending template declaration with one that is valid.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.1, 14.5.5)

cc0458 Compiler Error: argument of type "type" is incompatible with template parameter of type "type"

Description

An argument type is incompatible with the type of a template parameter.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <int *I> struct S{}; char c; void main(){ S<&c> s; /* Error: argument type mismatch */ if (&s) { } /* suppresses warning */ }

How to Fix

Ensure that the type of the argument matches the type of the template parameter.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0459 Compiler Error: initialization requiring a temporary or conversion is not allowed

Description

A temporary was used as a template argument when the corresponding template parameter was of reference type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

188

Page 189: Compiler Error Messages

Example template<const int& I> struct S{}; S<1> b; /* Error: temporary would be required for template argument */ void main(){}

How to Fix

Do not use a temporary as a template argument when the corresponding template parameter is of reference type. For example, the above example is corrected as follows: template<const int& I> struct S{}; int i = 1; S<i> b; void main(){}

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3.2)

cc0463 Compiler Error: "template" is not allowed

Description

The keyword "template" appeared in a decl-specifier or in any other capacity within a C++ source file where a C++ keyword cannot be used.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example int template = 1; /* Error: "template" as an identifier */ int main(){ return 0; }

How to Fix

Replace "template" with a word that is not a C++ keyword.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.11, 14)

cc0464 Compiler Error: "type" is not a class template

Description

A type other than a class template was used.

Severity

189

Page 190: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T> class A { public: void func () { int b = 1; } }; template <class T> void A <int>::func(){} /* Error: "A<int>" is not a class template */ void main(){}

How to Fix

Ensure that the type used is a class template.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.1)

cc0466 Compiler Error: "main" is not a valid name for a function template

Description

A function template was given the name "main".

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> void main(); void main(){}

How to Fix

A function template cannot be named "main". Rename the function template.

This rule is not explicitly stated in the ANSI standard; however, the standard does state that a function named "main" cannot be called.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.6.1, Annex C 3.6)

cc0467 Compiler Error: invalid reference to entity-kind "entity" (union/nonunion mismatch)

Description

This message indicates tag-kind mismatch in a partial specialization, explicit specialization, or explicit instantiation of a class template. The class key does not

190

Page 191: Compiler Error Messages

agree in kind with original class template declaration.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T1, class T2> class A {}; template <> union A<int,char> {}; /* Error: class-key mismatch */ void main(){}

How to Fix

Ensure that the class key agrees with the original class template declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.1)

cc0468 Compiler Error: a template argument may not reference a local type

Description

A local type, a type with no linkage, or an unnamed type was used as a template-argument for a template type-parameter.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> class A {}; void func() { class B {}; A<B> a1; /* Error: local type used as template-argument */ A<B*> a2;/* Error: pointer to local type used as template-argument */ } void main(){}

How to Fix

Ensure that local types, types with no linkage, or unnamed types are not used as template-arguments.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3.1)

cc0469

191

Page 192: Compiler Error Messages

Compiler Error: tag kind of xxxx is incompatible with declaration of entity-kind "entity" (declared at line xxxx)

Description

A qualified name is being used with a different tag kind than that of its declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example union U; /* declared 'union' */ struct U {}; /* Error: the class-specifiers do not match */ void main(){}

How to Fix Ensure that the qualified name uses the same tag kind as that of its declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (Annex C 3.9)

cc0470 Compiler Error: the global scope has no tag named "xxxx"

Description

The identifier could not be found in the global scope.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main (){ struct ::S s; /* Error : global scope has no tag named S */ if ( &s ); /* suppresses warning */ }

How to Fix Make the offending identifier global, or remove the statement referring to that identifier.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.3.5)

cc0471 Compiler Error: entity-kind "entity" has no tag member named "xxxx"

Description

192

Page 193: Compiler Error Messages

The identifier could not be found in the class or namespace scope.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S {}; struct S::var; /* Error: structure S has no tag member named var */ void main(){}

How to Fix Ensure that the offending identifier is declared within the required scope, or remove the statement referring to that identifier.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.3)

cc0472 Compiler Error: member function typedef (allowed for cfront compatibility)

Description

This error occurs only in cfront mode (when you compile with the command line options ++cfront_2.1 and ++cfront_3.0).

Severity Warning

Recovery The compiler issues a warning on the extension, and compilation continues.

Example class A{};

typedef void A::func();

void main(){}

How to Fix

The member function "typedef" is allowed only for cfront compatibility. This warning is always issued in cfront mode only.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0475 Compiler Error: a template argument may not reference a non-external entity

Description

193

Page 194: Compiler Error Messages

A template argument referred to an entity with an internal linkage.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T, char* char_string> struct S {}; void main(){ S<int, "init"> s; /* Error: string literal not allowed as template-argument, as string literals have internal linkage. */ if (&s) {} /* suppresses warning */ }

How to Fix

Ensure that only entities with external linkage are used as template arguments.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3.2)

cc0476 Compiler Error: name followed by "::~" must be a class name or a type name

Description

The identifier is followed by "::~" but is not a class name or a type name.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Replace the offending identifier with an identifier that represents a class name or a type name.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0479 Compiler Error: entity-kind "entity" redeclared "inline" after being called

Description

A function was redeclared inline after being called. This error is issued only when you compile with the Wremarks command-line option.

Severity

Remark

Recovery

194

Page 195: Compiler Error Messages

After the compiler issues the remark, compilation continues.

Example bool less (int a, int b);

void main ()

{

less (5, 10);

}

inline bool less (int a, int b)

{

return a < b;

}

How to Fix

Restructure the source code to ensure that the function is not redeclared inline after being called.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0481 Compiler Error: invalid storage class for a template declaration

Description

A template declaration has an invalid storage class. The error refers to the "auto" and "register" storage classes.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> register class A {}; /* Error: register is not a valid storage class for a template */ void main(){}

How to Fix

Remove the offending storage class from the template declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14)

cc0484 Compiler Error: invalid explicit instantiation declaration

Description

An invalid explicit instantiation declaration was encountered.

Severity

195

Page 196: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T> class A{}; template <class T> class B{}; template class A<int>, class B<int>; /* Error: a single template name may not declare more than one class */ void main(){}

How to Fix Replace the offending declaration with one that is valid. Refer to the standard.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.2)

cc0485 Compiler Error: entity-kind "entity" is not an entity that can be instantiated

Description

A template function or a static data member does not require instantiation.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct B {

static int x;

};

template int B::x; /* Error: "dm int B::x" is not an entity that can be

instantiated */

void main(){}

How to Fix Remove the offending instantiation.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0487 Compiler Error: inline entity-kind "entity" cannot be explicitly instantiated

Description

An inline function template was explicitly instantiated.

Severity

Remark

196

Page 197: Compiler Error Messages

Recovery

The compiler issues a remark and compilation continues.

Example template<class T> inline void f(T) {} template void f<int> (int); /* Remark: incline function func cannot be explicitly instantiated */ void main(){}

How to Fix

The ANSI standard does not mention anything on the subject of inline function template instantiation. Declare the offending function as non-inline to eliminate the remark.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.2, 7.1.2)

cc0489 Compiler Error: entity-kind "entity" cannot be instantiated -- no template definition was supplied

Description

A template can be declared and referenced without ever being defined. This error is issued if an instantiation was explicitly requested. The error is not issued if the instantiation was requested by an instantiation of the entire class (which means that all members should be instantiated).

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T> class Array { void mf(); }; template void Array<int>::mf(); void main(){}

How to Fix

Supply a definition for the offending template at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.2)

cc0493 Compiler Error: no instance of entity-kind "entity" matches the specified type

Description

No match was found for the requested overloaded function template.

197

Page 198: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S { template <class T> void func(T*); }; template void S::func(int*); /* Error: no instance of function template "S::func" matches the specified type */ void main(){}

How to Fix

Supply a match for the requested function template at the appropriate place in the source file, or change the template function call to ensure that it matches an existing function template, or remove the offending statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.5.1)

cc0496 Compiler Error: template parameter "xxxx" may not be redeclared in this scope

Description

A template parameter name has been reused in the first scope associated with the instantiation that affects the declarative level (or in a scope nested within that scope, in strict mode).

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T> class A { struct T; /* Error: Template parameter "T" may not be re-declared in this scope */ }; void main(){}

How to Fix

Ensure that any template parameter is not re-declared in its scope (including nested scopes). Use a different name in the declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.6.1)

198

Page 199: Compiler Error Messages

cc0498 Compiler Error: template argument list must match the parameter list

Description

The template argument list does not match the parameter list.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T1, class T2> struct A { void f2(); }; template<class T2, class T1> void A<T1,T2>::f2() {} /* Error: In the statement above, the template parameter list is not matched by the template argument list template<class T2, class T1> void A<T1,T2>::f2() {} */ void main(){}

How to Fix

Ensure that the type and form of each template argument specified in a template-id matches the type and form specified for the corresponding parameter declared by the template in its template-parameter-list.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3)

cc0500 Compiler Error: extra parameter of postfix "operatorxxxx" must be of type "int"

Description

The extra parameter of a postfix operator was found to be other than "int".

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A{ A(); A& operator++ ( A& a ); /* Error: extra parameter is not of type "int" */ }; void main(){}

How to Fix

199

Page 200: Compiler Error Messages

If a postfix operator is supplied with an extra parameter, ensure that the parameter is of type "int".

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5.7)

cc0501 Compiler Error: Function type is required

Description An operator declaration does not have a function type. An operator name must be declared as a function.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A{ A(); A& operator+++ (){ return *this; } };

void main(){}

How to Fix Ensure that the operator declaration has a function type, or remove the offending declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5)

cc0502 Compiler Error: Operator name is not allowed

Description A C++ statement construct, the operator name used, is not allowed.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example class A{ class operator int; /* Error: operator name not allowed */ class operator+; /* Error: operator name not allowed */ };

void main(){}

How to Fix

Remove the offending statement.

Related Information

200

Page 201: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C" (N/A)

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0503 Compiler Error: Entity-kind "entity" cannot be specialized in the current scope

Description

An explicit specialization of a class template has appeared either outside of the file or namespace scope in which the template was originally declared or in a scope enclosing the original scope.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T> struct A {};

void main(){ struct A<int> {}; /* Error: class "A<int>" cannot be specialized in the current scope */

}

How to Fix

Ensure that the declaration of the class template being explicitly specialized is in scope at the point of declaration of an explicit specialization.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.3)

cc0504 Compiler Error: The form for taking the address of a member function is nonstandard

Description The "&" ( address of operator ) was omitted when the address of a member function was taken.

Severity

Fatal error, when compiling with the -strict command line option

Warning, when compiling with the -pedantic command line option

Recovery

If a fatal error is indicated, the compiler cannot recover.

If a warning is indicated, the compiler accepts the syntax and compilation continues.

Example class A { public: void f() {} };

typedef void (A::*AFP)();

201

Page 202: Compiler Error Messages

class B : public A { public: static AFP afp; };

AFP B::afp = A::f; /* Error: "&" operator omitted */ void main() {}

How to Fix

Insert the missing "&" ( address of operator ) at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0505 Compiler Error: Too few template parameters (does not match previous declaration)

Description

Too few parameters were used when a template was re-declared. The current declaration does not match the previous declaration of the template.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T, int> class X; template<class T> class X {}; /* Error: too few template parameters -- does not match previous declaration */ void main(){}

How to Fix

Ensure that the number of template parameters in the current template declaration matches the number of parameters in the previous declaration of the template.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0506 Compiler Error: Too many template parameters (does not match previous declaration)

Description

Too many parameters were used when a template was re-declared. The current declaration does not match the previous declaration of the template.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example

202

Page 203: Compiler Error Messages

template<class T> class X; template<class T, int> class X {}; /* Error: too many template parameters -- does not match previous declaration */ void main(){}

How to Fix Ensure that the number of template parameters in the current template declaration matches the number of parameters in the previous declaration of the template.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0507 Compiler Error: Function template for operator delete(void*) is not allowed

Description A function template for operator delete(void*) was declared.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T> int operator delete(void*){}

void main() {}

How to Fix

The function template for operator delete(void*) is not allowed. Although not expressly prohibited, the function template cannot be used because new and delete have an invariant first argument. Remove the offending function template declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3.2, 5.3.5)

cc0508 Compiler Error: Class template and template parameter cannot have the same name

Description

The class being declared has the same name as one of its template parameters.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T> class T {}; /* Error: class template and template parameter have the same name */ void main(){}

203

Page 204: Compiler Error Messages

How to Fix

When declaring a class, do not give it the same name as one of its template parameters. Give the class a different name.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14)

cc0510 Compiler Error: A template argument cannot refer to an unnamed type

Description

An unnamed type was used as a template argument for a template parameter.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct {} s; template <class T> void func(T) {}

void main() { func(s); /* Error: unnamed types cannot be used as template arguments. */ }

How to Fix An unnamed type cannot be used as a template argument for a template parameter. Use a different (named) type as a template argument.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3.1)

cc0511 Compiler Error: Enumerated type is not allowed

Description

An enumeration type is not allowed in the current context as the enum type promotes to an integer for the operation, and then cannot get back to enum.

This error is issued only when you compile with the -strict or -pedantic command line options.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example enum colour {g,r,b};

colour farbe = g;

void main(){ farbe++;

204

Page 205: Compiler Error Messages

}

How to Fix Replace the enumerated type with an arithmetic type or a pointer to a complete object type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.6)

cc0512 Compiler Error: Type qualifier on a reference type is not allowed

Description

A type qualifier was used on a reference type.

Severity

Warning

Fatal error, when you compile with the -strict command line option

Recovery If a warning is indicated, the compiler ignores the qualifier and compilation continues.

If an error is indicated, the compiler cannot recover.

Example int i = 0;

int & const r = i; /* Error: type qualifier on a reference type */

void main() {}

How to Fix

Remove qualification from the reference.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (3.9)

cc0513 Compiler Error: A value of type "type" cannot be assigned to an entity of type "type"

Description The assignment operands are not compatible.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void main(){ int i = 0; int *pi = &i;

i = pi--; /* Error: type of pi-- is "int*" and not "int" */

pi--; /* suppresses warning */

205

Page 206: Compiler Error Messages

i--; /* suppresses warning */ }

How to Fix Ensure that the assignment operators are compatible.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.17)

cc0515 Compiler Error: Cannot convert to incomplete class "type"

Description

Conversion to an incomplete class has occurred.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A;

extern A a; extern void func(A);

void main() { func(a); /* Error: cannot convert to incomplete class A */ }

How to Fix Ensure that the class type is complete before attempting a conversion to that class type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (3.2)

cc0516 Compiler Error: Const object requires an initializer

Description A constant object was left uninitialized.

Severity

Non-discretionary error

Recovery

The compiler issues the diagnostic and compilation continues.

Example void main()

{

const int *u = new const int;

u++; /* suppresses warnings */

206

Page 207: Compiler Error Messages

}

How to Fix Provide initialization for the offending object at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (C.1.2 Clause 3.5, Clause 7.1.5)

cc0517 Compiler Error: Object has an uninitialized const or reference member

Description A class has an uninitialized const or reference member (C++ specific).

Severity Error

Recovery The compiler issues the error and compilation continues.

Example struct A { const int a; };

void main(){ A* a = new A; /* Error: object "A" has an uninitialized const member */

a++; /* suppresses remark */ }

How to Fix Initialize the uninitialized const member and make it static, or make only the const member static, in which case initialization would not be needed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" (N/A)

ISO/IEC 14882:1998 "Programming Languages - C++" (C.1.2, Clause 7.1.5)

cc0518 Compiler Error: Nonstandard preprocessing directive

Description A nonstandard preprocessing directive was found in the source file.

This error is issued only when you compile in strict (with the -strict compile line option) mode.

Severity

Non-discretionary error

Recovery

The compiler issues the diagnostic and compilation continues.

Example

207

Page 208: Compiler Error Messages

#warning: "Error none"

void main(){}

How to Fix Remove the offending preprocessing directive from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0519 Compiler Error: Entity-kind "entity" cannot have a template argument list

Description

A type name that is not a template is followed by a template argument list.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example class A {};

void main() { A<int> a; /* Error: class "A" may not have a template argument list*/

if (&a) {} /* Suppresses warning */ }

How to Fix

Ensure that the type name immediately preceding the "<>" is a template type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.2)

cc0520 Compiler Error: Initialization with "{...}" expected for aggregate object

Description

The top level initializer for a class, struct, union or array was not surrounded by braces ({…}). Missing braces are allowed in C mode as an extension, when a warning is issued.

Severity

Fatal error, in C++ mode and in C mode when you compile with the -strict option

Warning, in C mode

Recovery

In C++ mode, the compiler cannot recover from this error.

In C mode, the compiler accepts the initialization.

In strict C mode, the compiler cannot recover from this error.

208

Page 209: Compiler Error Messages

Example int a[2] = 1; /* Error: initialization with "{...}" expected for aggregate object */ void main(){}

How to Fix

Ensure that the top lever initializer of a class, struct, union or array is surrounded by braces.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5.1)

cc0540 Compiler Error: support for exception handling is disabled

Description By default, the C++ compiler does not allow exception handling statememnts or expressions.

Severity

Error

Recovery

The compiler cannot recover from this error.

Example void func()

{

throw 6;

}

ccblkfn -c++ test.cpp "test.cpp", line 3: cc0540: error: support for exception handling is disabled throw 6; ^

1 error detected in the compilation of "test.cpp". cc3089: fatal error: Compilation failed

How to Fix

Recompile specifying -eh on the command line.

Related Information

cc0546 Compiler Error: transfer of control bypasses initialization of a variable within a block

Description

The transfer of control has bypassed the initialization of a variable within a block, which is a switch block or a block contained within a switch block.

Severity

Warning, in all modes except in C++ strict mode (compiling with the -strict command line option)

Fatal error, in C++ strict mode

209

Page 210: Compiler Error Messages

Recovery

If a warning is indicated, compilation continues after the warning.

If an error is indicated, the compiler cannot recover

Example struct X { int i; X(int ii) : i(ii) {} };

int i;

void main() { switch(i) { case 0 : X ox(0); break; case 1 : break; } }

How to Fix

Remove the offending initialization statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4)

cc0548 Compiler Error: transfer of control into an exception handler

Description Control is being transferred into a try block or handler from outside.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void main() { int i = 0;

if (i) goto handler; /* Error: transfer of control into an exception handler */ try { throw i; }

catch(int i) { handler : i++; } }

How to Fix

You can transfer control out of, but not into, a try block or handler by using the goto, break, return, or continue statements. Remove the offending statement.

210

Page 211: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (15)

cc0550 Compiler Error: entity-kind "entity" was set but never used

Description

The value of a variable was set but the variable was never used.

Severity

Remark, only when the -Wremarks command line option is used

Recovery The compiler issues the remark and compilation continues.

Example void main(){ int Var = 10; int *pVar; pVar = &Var; }

How to Fix

Either use the variable or remove the statement that declares it.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0551 Compiler Error: entity-kind "entity" cannot be defined in the current scope

Description A definition is illegal. The particular entity cannot be defined in the current scope. This error occurs in the following cases:

A static data member is being defined in a scope that does not enclose the scope in which the parent class was defined.

A declaration appears within a namespace scope in which the name cannot be defined (the declaration is a member, directly or indirectly, of a namespace that is not enclosed by the current namespace scope)

A class member function is being defined in a friend declaration

A member template is being defined in a scope that does not enclose the scope in which the parent class was defined

A member function is being defined in a scope that does not enclose the scope in which the parent class was defined

A definition appears within a namespace scope in which the name cannot be defined (the definition is a member, directly or indirectly, of a namespace that is not enclosed by the current namespace scope)

Static data member template is being defined in a scope that does not enclose the scope in which the parent class was defined

A definition of a nonmember function in a local class friend declaration

211

Page 212: Compiler Error Messages

A class is a namespace member or nested in another class (the class was defined outside of the scope in which it belongs)

An attempt to define a member enum outside the class of which it is a member

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example namespace A { struct S { void func(); }; }

namespace B { void A::S::func(){} /* Error : A::X::mf() cannot be defined in the current scope */ }

void main(){}

How to Fix

Define the declaration in its proper scope.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.3, 9.7, 11.4, 9.2, 7.3.1, 7.2)

cc0555 Compiler Error: tag kind of xxxx is incompatible with template parameter of type "type"

Description The template argument is the wrong kind of tag.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example union U {}; /* The following line of code causes the diagnostic: "template parameter T may not be used in an elaborated type specifier" -

- cc0794, which is issued as an warning in normal mode and as an error in strict ( compiling with the -strict command line option ) mode. When in strict mode only diagnostic cc0794 is issued, when in normal mode error cc0555 is issued also. */

template <class T> class B { class T x; };

B<U> b;

void main(){}

212

Page 213: Compiler Error Messages

How to Fix

Do not a use a template parameter in an elaborated type specifier. Restructure your program. For example, the following version would compile: union U {}; template <class T> class B {}; B<U> b;

void main(){}

Related Information

ISO/IEC 9899:1990 "Programming Languages - C".

ISO/IEC 14882:1998 "Programming Languages - C++" 7.1.5.37.1.5.37.1.5.37.1.5.37.1.5.37.1.5.37.1.5.3).

cc0556 Compiler Error: function template for operator new(size_t) is not allowed

Description

Overloading on the single argument version of operator new(size_t) is not allowed. Although this occurrence is not expressly prohibited, it can be inferred from the fact that "new" has an invariant first argument.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example #include <iostream.h>

template<class T> void *operator new[](size_t size);

void main(){}

How to Fix

Remove the function template for operator new(size_t) from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.4)

cc0558 Compiler Error: pointer to member of type "type" is not allowed

Description A pointer-to-member is pointing to a static member of a class, a member with a reference type, or a void.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { int i; };

213

Page 214: Compiler Error Messages

void A::*p; /* Error: pointer to member of type "void" is not allowed */

void main() { }

How to Fix Ensure that a pointer-to-member does not point to a static member of a class, a member with a reference type, or a void.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.3)

cc0559 Compiler Error: ellipsis is not allowed in operator function parameter list

Description An overloaded operator function (except operator()(T, ...) and operator new(size_t, ...) ) contains an ellipsis in its parameter list.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A { A& operator +(...); };

void main(){}

How to Fix

All overloaded operators (except function call and new) require a specific number of arguments. Remove the ellipsis from the parameter list of the offending operator function and supply the specific number of arguments needed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5)

cc0560 Compiler Error: "entity" is reserved for future use as a keyword

Description A keyword was used for a token that is not yet implemented.

Severity Remark

Warning, in pedantic (compiling with the -pedantic command line option) mode

Error, in strict (compiling with the -strict command line option) mode

Recovery

If a remark or warning is indicated, compilation continues after the diagnostic.

If an error is indicated, the compiler cannot recover.

Example

214

Page 215: Compiler Error Messages

void main() { typeid(int); }

How to Fix Use one of the following options:

Remove the statement containing the keyword for the unimplemented token.

If you are using the keywords "type_id" or "dynamic_cast", ensure that RTTI is enabled.

If you are using the keywords "namespace" or "using", ensure that namespaces is enabled.

If you are using the keyword "typename", ensure that typename support is enabled.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0598 Compiler Error: a template parameter may not have void type

Description A non-type template parameter has a void type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template<void> class X; /* Error: a template parameter may not have void type */ void main(){}

How to Fix

A non-type template parameter cannot have a floating point, class, or void type. Change the template parameter to another (valid) type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0601 Compiler Error: a throw expression may not have void type

Description

A throw expression has a void type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

215

Page 216: Compiler Error Messages

Example: void func(){}

void main() { try { throw func(); } catch (int){} }

How to Fix: If possible, ensure that the offending throw expression is not of type void. Otherwise, remove the expression.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (15.1)

cc0603 Compiler Error: parameter of abstract class type "type" is not allowed

Description

An abstract class was used as a parameter type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: int i; A() : i(1){} virtual int pvf() = 0; /* pure virtual function */ };

int func(A a) { return a.i; } /* Error : parameter of abstract class A is not allowed */

void main() {}

How to Fix

Convert the abstract class used as a parameter type to a non-abstract class by removing any pure virtual functions that the class may have or remove the class from the parameter list. Change the source file as required after making the class non-abstract or removing it from the parameter list.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (10.4)

cc0604 Compiler Error: array of abstract class type "type" is not allowed

Description

An array of abstract class type was declared.

216

Page 217: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: int i; A() : i(1){} virtual int pvf() = 0; /* pure virtual function */ };

A MyArray[1]; /* Error : array of abstract class A is not allowed */

void main() {}

How to Fix

An array cannot have an abstract class type. Change the type of the array.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.4)

cc0605 Compiler Error: floating-point template parameter is nonstandard

Description A template parameter was declared to have a floating point.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example template<double d> class X; /* Error: floating-point template parameter is nonstandard */ void main(){}

How to Fix

A template parameter cannot be declared to have a floating point. It can, however, be declared to have a pointer or reference to a floating point. If appropriate, change the parameter to be a pointer or a reference to the floating point, or remove the offending floating point parameter.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0606 Compiler Warning: this pragma must immediately precede a declaration

Description The particular pragma used does not precede a declaration as required.

Severity

217

Page 218: Compiler Error Messages

Warning

Recovery The compiler ignores the pragma and compilation continues.

Example void func(){ int x; #pragma linkage_name /* Warning: this pragma must immediately precede a declaration */ x = 2; x++; }

void main(){}

How to Fix Ensure that this particular pragma always precedes a declaration, or remove the pragma from the source file.

Related Information

See also compiler documentation for pragmas.

cc0607 Compiler Error: this pragma must immediately precede a statement

Description

The particular pragma used does not precede a statement as required.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #pragma SIMD_for /* Error: this pragma must immediately precede a

statement */

void main(){}

How to Fix Ensure that this particular pragma always precedes a statement, or remove the pragma from the source file.

Related Information

See also compiler documentation for pragmas.

cc0609 Compiler Error: this kind of pragma may not be used here

Description

This kind of pragma is not valid in this location.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example

218

Page 219: Compiler Error Messages

#pragma define_type_info /* Error: this kind of pragma may not be used here */

void main(){}

How to Fix Remove the pragma from the source file, as it is not valid at the current location.

Related Information

See also compiler documentation for pragmas.

cc0611 Compiler Error: overloaded virtual function "entity" is only partially overridden in entity-kind "entity"

Description

The overridden function is an overload set in a base class and:

One or more virtual functions were overridden by a declaration in the current class

One or more virtual functions were not overridden

Although this occurrence is allowed it can cause subtle inconsistencies in a user program, and therefore cause a warning.

Severity Warning

Recovery The compiler issues the diagnostic and compilation continues.

Example class A

{

public:

virtual void func(int){}

virtual void func(double){}

};

class B : public A /* Warning: overloaded virtual function "A::func" is

only partially overridden in class "B" */

{

public:

void func(int){}

};

void main(){}

How to Fix

To eliminate the warning, remove the offending statement. Note, however, that removal is not necessary as the construct is legal. You can suppress warnings may by using the -w command line option.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (27.7.1.3)

219

Page 220: Compiler Error Messages

cc0612 Compiler Error: specific definition of inline template function must precede its first use

Description An inline function template has been declared, and an instance of it has been referred to, and therefore, instantiated on the fly. This error is issued when a subsequent specializing declaration appears.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

A statement cannot refer to an inline template function that is specialized before the specialization is declared. Remove the offending statement from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0615 Compiler Error: parameter type involves pointer to array of unknown bound

Description

The parameter includes a pointer to an array of unspecified size. This error is C++ specific.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example typedef int array[];

void func(array* AnArray){}

void main(){}

How to Fix

A pointer to an array of unknown bound is not allowed as a parameter. Either make the array complete or ensure that a pointer to the array is not used as a parameter.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0616 Compiler Error: parameter type involves reference to array of unknown bound

Description

The parameter includes a reference to an array of unspecified size. This error is C++

220

Page 221: Compiler Error Messages

specific.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example typedef int array[];

void func(array &AnArray){}

void main(){}

How to Fix

A reference to an array of unknown bound is not allowed as a parameter. Either make the array complete or ensure that a reference to the array is not used as a parameter.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0624 Compiler Error: "xxxx" is not a type name

Description The symbol used should be a type name. This error is issued only in strict (compiling with -strict command line option) mode.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A { public : typedef int X; };

void main () { typedef int Y; int i; i.Y::~X(); /* Error: "X" is not a type name. */ }

How to Fix

Replace the offending symbol with one that is a type name.

Related Information See also:

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

This error might not be applicable because the compiler behaves as follows:

If you compile a file called test.cpp with the -pch option, a subdirectory is created to store the file test.pch. In the next compilation of test.cpp, the compiler uses the

221

Page 222: Compiler Error Messages

test.pch if that file is usable. If the file is not usable, the compiler overwrites it with a usable one to use for any subsequent compilations.

cc0631 Compiler Error: unable to obtain mapped memory

Description

The compiler was unable to obtain the desired mapped memory.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error cannot be reproduced.

How to Fix

Increase your paging file size.

Related Information See also documentation for your operating system on memory management.

cc0643 Compiler Error: "restrict" is not allowed

Description

The "restrict" keyword cannot be used in the current context.

Severity Fatal error

Recovery: The compiler cannot recover from this error.

Example: void main(){ restrict int var = 0; /* Error: "restrict" is not allowed */

var++; /* suppresses the remark */ }

How to Fix:

The restrict keyword maybe applied to pointer and reference types (but not to pointer-to-function types), to pointer-to-member types (but not to pointers to member functions), and to array types (in parameter declarations only). In all other cases, the restrict keyword is not allowed and you should remove it from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0644 Compiler Error: a pointer or reference to function type may not be qualified by "restrict"

222

Page 223: Compiler Error Messages

Description

A pointer type or reference pointing to a function type is restrict-qualified, or a pointer to member type pointing to a function type is restrict-qualified.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void func(void){}

void(*restrict g) (void) = func;

void main(){}

How to Fix

A pointer type or reference pointing to a function type cannot be restrict-qualified. Remove the offending restrict qualifier from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0656 Compiler Error: transfer of control into a try block

Description

A branch into the catch or try block from outside has occurred.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example void main() { int i = 0;

if (i) goto try_bl; /* Error: transfer of control into a try block */

try { try_bl : if (i) throw i; }

catch(int i) { i++; } }

How to Fix

Control cannot be transferred into a try block. Remove the offending statement from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (15)

223

Page 224: Compiler Error Messages

cc0658 Compiler Error: closing brace of template is missing

Description

The closing brace of a function template definition is missing.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> void func(T){ /* Error: closing brace of template definition not found */ void main (){}

How to Fix Insert the missing closing brace at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5)

cc0660 Compiler Error: invalid packing alignment

Description

The value used for specifying the packing alignment is invalid.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example #pragma pack(3) /* Error: invalid packing alignment value */

void main(){}

How to Fix

Ensure that the value supplied for align is a power of two. If align is omitted, then the default alignment is used.

Related Information See also compiler documentation for pragmas.

cc0661 Compiler Error: expected an integer constant

Description The value used for specifying the packing alignment was not an integer constant.

Severity Fatal error

Recovery The compiler cannot recover from this error.

224

Page 225: Compiler Error Messages

Example #pragma pack(0.0) /* Error: expected an integer constant */

void main(){}

How to Fix

Ensure that the value supplied for align is a power of two. If align is omitted, the default alignment is used.

Related Information

See also compiler documentation for pragmas.

cc0663 Compiler Error: invalid source file identifier string

Description

While processing a cached #pragma ident directive with syntax of #pragma ident <string>, where <string> is meant to be a quoted character string, the compiler found that <string> was not a quoted character string.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example #pragma ident a_string /* Error: invalid source file identifier string */ void main(){}

How to Fix Refer to the description of the error above, and ensure that <string> is a quoted character string.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0664 Compiler Error: a class template cannot be defined in a friend declaration

Description A friend class template was defined within a class template.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example: class A { template<class T> friend class B {}; /* Error: a class template

cannot be defined in a

friend declaration */

};

void main(){}

225

Page 226: Compiler Error Messages

How to Fix

A friend class template may not be defined in a class or class template. Remove the definition of the offending friend class template and define it in global scope.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.3)

cc0666 Compiler Error: "asm" must be used with a function definition

Description

The "asm" keyword was used outside the context of a function definition.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove asm or use it within the function body.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0668 Compiler Error: ellipsis with no explicit parameters is nonstandard

Description

An ellipsis with no explicit parameters was encountered by the compiler. This condition is an extension in C, and it is supported only in SVR4 C mode and in strict (compiling with the -strict command line option) mode.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example This error cannot be reproduced with the C/C++ Compiler: SHARC version 6.1.0, as SVR4 C mode is not supported.

How to Fix

Ensure that ellipsis without explicit parameters are not used.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0672 Compiler Warning: temporary used for initial value of reference to const volatile (anachronism)

226

Page 227: Compiler Error Messages

Description

A reference to non-const or to const volatile is initialized in a way that requires a temporary. In the current compiler version, this condition is allowed as an anachronism and only a warning is issued.

Severity

Warning

Recovery

The compiler warns about the anachronism and compilation continues.

Example struct S { S(){} } s;

struct T { T(){} operator S() { return s; } } t;

const volatile S& rs = t; /* Warning: temporary used for initial value of reference to const volatile (anachronism) */ void main(){}

How to Fix Do not use a temporary as an initial value of reference to non-const or const volatile.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0673 Compiler Error: a reference of type "type" cannot be initialized with a value of type "type"

Description

A temporary was used during the binding a reference to non-const. This use is allowed as an anachronism, and only a warning (number 0672) is issued during compilation in normal mode. This error is issued only when you compile in strict (with the -strict command line option) or pedantic (with the -pedantic command line option) mode.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example struct S { S(){} } s;

struct T { T(){} operator S()

227

Page 228: Compiler Error Messages

{ return s; // returns an rvalue } } t;

const volatile S& rs = t; /* Error: a reference of type "const volatile dm S &dm" cannot be initialized with a value of type "dm T" const volatile S& rs = t; */ void main(){}

How to Fix

Do not use a temporary as an initial value of reference to non-const or const volatile.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0674 Compiler Error: initial value of reference to const volatile must be an lvalue

Description

The initial value of a reference to const volatile was an rvalue. This error is issued only in strict (compiling with the -strict compile line option) or pedantic (compiling with the -pedantic compile line option) mode.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example volatile char ch ='A';

void main() { const volatile float& r = (float)ch; /* Error: initial value of reference to const volatile must be an lvalue */ if( (int) r) { } /* suppress warning */ }

How to Fix

Ensure that the initial value of reference to const volatile is an lvalue. Replace the offending rvalue with an lvalue.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0678 Compiler Error: call of entity-kind "entity" (declared at line xxxx) cannot be inlined

Description

The compiler failed to inline a routine, as it could not be inlined in the current case.

The inline mechanism in the C/C++ Compiler : SHARC version 6.1.0 has been disabled.

228

Page 229: Compiler Error Messages

Severity

Remark

Recovery

The compiler issues the inlining failure diagnostic and compilation continues.

Example

This error cannot be reproduced, as the inline mechanism is disabled in this version of the compiler.

How to Fix Do not declare the offending routine inline.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0679 Compiler Error: entity-kind "entity" cannot be inlined

Description

The current routine cannot be inlined.

The inline mechanism in the C/C++ Compiler : SHARC version 6.1.0 has been disabled.

Severity Remark

Recovery The compiler issues the remark and compilation continues.

Example This error cannot be reproduced, as the inline mechanism is disabled in this version of the compiler.

How to Fix Do not declare the offending routine inline.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0682 Compiler Error: a __leave statement may only be used within a __try

Description

A __leave statement was used outside of a try block. The __leave statement is a Microsoft extension to the C++ language, and the C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example

229

Page 230: Compiler Error Messages

This error cannot be reproduced as Microsoft extensions are not supported with this compiler version.

How to Fix

The __leave statement can be used only inside a try block to leave a try-finally. The syntax is: __leave;

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0691 Compiler Error: entity-kind "entity", required for copy that was eliminated, is inaccessible

Description The copy constructor for a copy that was eliminated is inaccessible. This message is issued only when you compile in strict mode (compiling with the -strict command line option).

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that the copy constructor is accessible.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0692 Compiler Error: entity-kind "entity", required for copy that was eliminated, is not callable because reference parameter cannot be bound to rvalue

Description The copy constructor required for copy that was eliminated is not callable because the reference parameter cannot be bound to rvalue. This message is issued only when you compile in strict mode (compiling with the -strict command line option).

Severity Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that the copy constructor is callable.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

230

Page 231: Compiler Error Messages

cc0693 Compiler Error: <typeinfo> must be included before typeid is used

Description

The typeid is not valid, as the type_info type has not been defined in the header file.

The C/C++ Compiler : SHARC version 6.1.0 does not support typeid.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void main(){ int *n; typeid(n); }

How to Fix

Include the <typeinfo> header file prior to the use of typeid.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.8)

cc0694 Compiler Error: xxxx cannot cast away const or other type qualifiers

Description

A cast (reinterpret_cast, dynamic_cast or static_cast) casts away constness, which means that the cast drops qualifiers.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S { int s; };

S os; S *volatile vps = &os;

void main() { reinterpret_cast<S**>(&vps); /* reinterpret_cast cannot cast away const or other type qualifiers */ }

How to Fix

The reinterpret_cast, dynamic_cast, and static_cast operators are not allowed to throw away constness. Determine whether this rule is being violated. For instance, in the example above the cast from X *volatile * to X** casts away constness since no implicit conversion from int *volatile * to int** occurs.

Related Information

231

Page 232: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.10, 5.2.11, 5.2.7 )

cc0695 Compiler Error: the type in a dynamic_cast must be a pointer or reference to a complete type or void*

Description

In an expression dynamic_cast<T>(v), T is not a pointer to a complete class type or to void. The C/C++ Compiler : SHARC version 6.1.0 does not support dynamic cast.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S { int i; virtual void func() {} };

void main() { S s;

int &j = dynamic_cast<int&>(s); /* Error: The type in dynamic_cast must be a pointer or a reference to a complete type, or void* */ j++; /* suppresses warning */ }

How to Fix

Ensure that the type in the dynamic_cast is a pointer or reference to a complete class type or a pointer to void.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7)

cc0696 Compiler Error: the operand of a pointer dynamic_cast must be a pointer to a complete class type

Description In an expression dynamic_cast<T>(v), where T is a pointer type, v is not an rvalue of a pointer to complete class type.

The C/C++ Compiler : SHARC version 6.1.0 does not support dynamic cast.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S {};

232

Page 233: Compiler Error Messages

S s; S &rs = s;

void main() { S *ps = dynamic_cast<S*>(rs); /* Error: the operand of a pointer dynamic_cast is not a pointer to a complete class type */ ps++; /* suppresses warning */ }

How to Fix

If the expression used is of type dynamic_cast<T>(v), where T is a pointer type, ensure that v is an rvalue of a pointer to a complete class type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7)

cc0697 Compiler Error: the operand of a reference dynamic_cast must be an lvalue of a complete class type

Description

In an expression dynamic_cast<T>(v), where T is a reference type, v is not an lvalue of a complete class type.

The C/C++ Compiler : SHARC version 6.1.0 does not support dynamic cast.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S { int i; };

S s; S *ps = &s;

void main() { S &rs = dynamic_cast<S&>(ps); /* Error: the operand of a reference dynamic_cast is not an lvalue of a complete class type */ rs.i++; /* suppresses warning */ }

How to Fix

If the expression used is of type dynamic_cast<T>(v), where T is a reference type, ensure that v is an lvalue of a complete class type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7)

cc0698 Compiler Error: the operand of a runtime dynamic_cast must have a

233

Page 234: Compiler Error Messages

polymorphic class type

Description

In an expression dynamic_cast<T>(v), where the dynamic cast was done at runtime, v was not a "pointer to" or an lvalue of a polymorphic type.

The C/C++ Compiler : SHARC version 6.1.0 does not support dynamic cast.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: int p; };

class B { public: int p; };

main() { A *n; dynamic_cast<B *>(n); }

How to Fix

If the expression used is of type dynamic_cast<T>(v) and the dynamic cast was done at runtime, then ensure that v is a "pointer to" or an lvalue of a polymorphic type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7)

cc0701 Compiler Error: an array type is not allowed here

Description The declarator in a condition statement specified an array, a malformed condition declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main() { if (int array[1] = {1}) /* Error: an array type is not allowed here */ { array[0]++; /* suppresses warning */ }

234

Page 235: Compiler Error Messages

}

How to Fix In a condition statement the declarator must not specify an array. Replace the offending declarator with a declarator that does not specify an array or a function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4)

cc0702 Compiler Error: expected an "="

Description

A name introduced by a declaration in a condition was not initialized.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main(){ if (int i) {} /* Error: expected an "=" */ }

How to Fix

The syntax for the condition explicitly requires the "= expr" syntax for initialization. Provide initialization for the offending condition declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4)

cc0703 Compiler Error: expected a declarator in condition declaration

Description The declarator in a condition statement is missing.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main(){ if (int) {} }

How to Fix Provide a declarator for the offending condition declaration and initialize it.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4)

235

Page 236: Compiler Error Messages

cc0704 Compiler Error: "xxxx", declared in condition, may not be redeclared in this scope

Description The name of the variable declared in a condition was redeclared in the outermost block of a substatement controlled by the condition.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main(){ if (int i = 0) { int i; /* Error: "i", declared in condition, may not be redeclared in this scope*/

i = 0; i++; /* suppress warnings */ } }

How to Fix A name declared by a declaration in a condition is in scope from its point of declaration until the end of the substatements controlled by the condition. Therefore, it cannot be redeclared in the outermost block of a substatement controlled by the condition. Remove the offending declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4)

cc0705 Compiler Error: default template arguments are not allowed for function templates

Description

A default template argument was specified in a function template declaration or in a function template definition.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T=int> void func(T) {} /* Error: default template arguments are not allowed for function templates */ void main() {}

How to Fix Remove the offending default templated argument(s) from the function template declaration or function template definition.

Related Information

236

Page 237: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0706 Compiler Error: expected a "," or ">"

Description

A template parameter list was terminated unexpectedly. The ">" sign needed to terminate the parameter list was missing.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T, int size = 10;

void main(){}

How to Fix

Terminate the template parameter list correctly either by inserting a comma followed by another parameter and then terminating the parameter list with a ">" sign or by terminating the parameter list with a ">" sign.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0708 Compiler Warning: incremented bool value is deprecated

Description

A "++" was encountered on a bool variable. This operator is allowed but the bool value is deprecated.

Severity Warning

Recovery The compiler issues the warning, the value of the variable is set to true, compilation continues.

Example bool b = false;

void main() { b++; }

How to Fix Do not use the increment operation on bool variables, as it is not guaranteed to be part of future editions of the standard.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

237

Page 238: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.6)

cc0709 Compiler Error: bool type is not allowed

Description

A "--" was encountered on a bool variable. This operator is not allowed.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example bool b = false;

void main() { b--; }

How to Fix The operand of decrement cannot be of type bool. Remove the offending statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.6)

cc0711 Compiler Error: expression must have bool type (or be convertible to bool)

Description

A Boolean controlling expression was not of bool type or of type convertible to bool. This error is applicable when "bool" is enabled.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main() { int j = 5 ; (void(j++)) ? j++ : j-- ; /* Error: a void expression was used as the first operand of the ?: operator. expression must have bool type (or be convertible to bool) */

j++; /* suppresses warning */ }

How to Fix

Replace the offending expression with an expression of bool type or with an expression that is convertible to bool.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

238

Page 239: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (5.16)

cc0713 Compiler Error: entity-kind "entity" is not a variable name

Description

This error is applicable only when Microsoft mode is enabled. The name referred to is not a variable name.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error be reproduced only when Microsoft mode is enabled.

How to Fix

Ensure that the name referred to is a variable.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0714 Compiler Error: __based modifier is not allowed here

Description

The Microsoft __based modifier is not allowed in the indicated position. This error is applicable only when Microsoft mode is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example

This error can be reproduced only when Microsoft mode is enabled.

How to Fix

Remove the offending statement containing the __based modifier.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0716 Compiler Error: variable in __based modifier must have pointer type

239

Page 240: Compiler Error Messages

Description

The variable in a __based modifier is not of pointer type. This error is applicable only when Microsoft mode is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example

This diagnostic can be reproduced only when Microsoft mode is enabled.

How to Fix

Ensure that the variable in a __based modifier is of pointer type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0717 Compiler Error: the type in a const_cast must be a pointer, reference, or pointer to member to an object type

Description

The type 'cast to' using a const_cast is not a pointer, reference, or pointer member to an object type.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S { int s; S() : s(1) {} };

volatile S vos; S os;

void main() { vos = const_cast<volatile S>(os); }

How to Fix Ensure that the type 'cast to' is a pointer, reference, or pointer to member to an object type. As an alternative, you can remove the offending const_cast statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.11)

cc0718

240

Page 241: Compiler Error Messages

Compiler Error: a const_cast can only adjust type qualifiers; it cannot change the underlying type

Description

A const_cast is attempting to change the underlying type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S{} os;

S* ps;

S func() { return S(); }

S (*pfunc)() = &func;

void main() { ps = const_cast<S*>(pfunc); }

How to Fix

Ensure that the const_cast adjusts only the type qualifiers. It must not attempt to change the underlying type. As an alternative, you can remove the offending const_cast statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.11)

cc0719 Compiler Error: mutable is not allowed

Description

The "mutable" storage specifier was used on something other than a nonstatic data member declaration. The error is also issued when "mutable" and top-level "const" are used together. This error is C++ specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example float mutable var = 1;

void main() {}

How to Fix

Remove the offending "mutable" specifier from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0724

241

Page 242: Compiler Error Messages

Compiler Error: namespace definition is not allowed

Description A namespace definition can occur only in the global or a namespace scope.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void main() { namespace N; /* Error: namespace definition is not allowed */ }

How to Fix

Move the offending declaration to the global or a namespace scope, or remove the declaration from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.1)

cc0725 Compiler Error: name must be a namespace name

Description

In a namespace alias definition, the name to the right of the "=" is not a namespace name, or nothing is to the right of the "=".

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main () { namespace alias = N; /* Error: name "N" must be a namespace name */ }

How to Fix

Ensure that the name to the right of the "=" is a namespace name.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.6)

cc0727 Compiler Error: namespace-qualified name is required

Description

An unqualified name was used in a "using" declaration. A "using" declaration requires a namespace-qualified name.

242

Page 243: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example namespace N { struct M{}; } namespace M { using N::M; using M; /* Error: namespace-qualified name is required, M is not a namespace qualified name. */ }

void main() {}

How to Fix

Replace the offending unqualified name with a namespace-qualified name.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.6)

cc0728 Compiler Error: a namespace name is not allowed

Description A namespace name was used in circumstances where the use of namespaces is forbidden.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example: namespace N { namespace M { int i; } }

namespace Z { using N::M; /* Error: The using declaration must introduce a name, it cannot introduce a declarative region. */ }

void main() {}

How to Fix

Replace the offending namespace name with a name that is not a namespace, or remove the offending declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0731 Compiler Error: array with incomplete element type is non-standard

243

Page 244: Compiler Error Messages

Description

This message reports an array of incomplete class type or an array of incomplete enum type. This array is legal in C++ and is allowed as an extension in C, with an error being issued only in strict (compiling with the -strict compile line option) mode. If the class or enum type is completed later, the array becomes complete.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct A;

struct A array[2];

struct A { int i; };

void main(){ }

How to Fix

An array of incomplete class or enum type is allowed as an extension in C. If you intend to compile in strict mode, ensure that arrays of incomplete class type or enum type are not present in the source files.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0732 Compiler Error: allocation operator may not be declared in namespace

Description

An operator declaration "new" or "new[]" either appears inside a namespace, or has the effect of injecting a declaration into a namespace.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example #include <iostream.h>

namespace N { void *operator new[](size_t size); }

void main() {}

How to Fix

Ensure that the operators new and new[] do not appear inside a namespace.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3.1)

244

Page 245: Compiler Error Messages

cc0733 Compiler Error: deallocation operator may not be declared in namespace

Description

An operator declaration "delete" or "delete[]" either appears inside a namespace, or has the effect of injecting a declaration into a namespace.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example namespace N { void operator delete(void *); }

void main(){}

How to Fix

Ensure that the operators delete and delete[] do not appear inside a namespace.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3.2)

cc0734 Compiler Error: entity-kind "entity" conflicts with using declaration of entity-kind "entity"

Description

A local function declaration has the same name and type as a function introduced by a "using" declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example namespace N{ typedef int CHAR; void func(CHAR) {} }

using N::func; void func(int) ; /* Error: function "func(dm int)" conflicts with using-declaration of function "N::func(dm N::CHAR)" */ void main() {}

How to Fix

A local function declaration cannot have the same name and type as a function introduced by a "using" declaration. Change or remove one of the conflicting function declarations.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

245

Page 246: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (13.1)

cc0735 Compiler Error: using-declaration of entity-kind "entity" conflicts with entity-kind "entity" (declared at line xxxx)

Description A function declaration in block scope or namespace scope has the same name and the same parameter types as a function introduced by a using-declaration.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S { friend void func(){} };

namespace N { void func() {} }

using N::func; /* Error: using-declaration of function "N::func()" conflicts with function "func()" (declared at line 2) */ void main(){}

How to Fix A function declaration in namespace scope or block scope cannot have the same name and the same parameter type(s) as a function introduced by a using-declaration. Change or remove one of the conflicting function declarations.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.3)

cc0738 Compiler Error: a class-qualified name is required

Description

The compiler expected to find a class-qualified name at the current location.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example: class A { void func(); };

class B : public A { using A; /* Error: a class-qualified name is required */

246

Page 247: Compiler Error Messages

};

void main() {}

How to Fix Ensure that the current identifier is a qualified name and that the qualifier is a base class of the current class.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.3)

cc0742 Compiler Error: entity-kind "entity" has no actual member "xxxx"

Description

No such member is directly declared in the specified scope.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example namespace N { namespace M { void test(); } using namespace M; }

void N::test() {} /* namespace "N" has no actual member "test" */

void main () {}

How to Fix

Ensure that such member exists in the specified scope.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.3.5, 7.3.4)

cc0744 Compiler Error: incompatible memory attributes specified

Description Near and far specifications are incompatible. This diagnostic is only applicable when support for near and far extensions are enabled (for example, in Microsoft 16-bit mode).

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

247

Page 248: Compiler Error Messages

This error cannot be reproduced with support for near and far extensions disabled.

How to Fix Ensure that all near and far specifications are compatible.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0745 Compiler Warning: memory attributes ignored

Description

Qualifiers (because of MSVC++ 2.0 compatibility, near/far is present, or both) still exist. Either they are returned to the caller, if appropriate, or a warning is issued to report that they are being ignored.

This diagnostic is applicable only when Microsoft mode is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Warning

Recovery

The compiler ignores the remaining qualifiers and compilation continues.

Example

This error cannot be reproduced with support for Microsoft mode disabled.

How to Fix

Remove the remaining qualifiers from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0746 Compiler Error: memory attribute may not be followed by a nested declarator

Description

This diagnostic indicates constructs such as int far (*p). It is applicable only when Microsoft mode is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example This error cannot be reproduced with support for Microsoft mode disabled.

How to Fix

248

Page 249: Compiler Error Messages

Remove the offending construct.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0747 Compiler Warning: memory attribute specified more than once

Description

The repetition of near or far reported by this diagnostic is applicable only when support for near and far extensions are enabled (for example, in Microsoft 16-bit mode).

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Warning

Recovery

The compiler issues the warning and compilation continues.

Example This error cannot be reproduced with support for near and far extensions disabled.

How to Fix Remove the repetitive near or far specifications.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0748 Compiler Warning: calling convention specified more than once

Description

The new and old calling conventions are the same. This diagnostic is applicable only when Microsoft mode is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Warning

Recovery

The compiler issues the warning and compilation continues.

Example

This error cannot be reproduced with support for Microsoft mode disabled.

How to Fix

Remove the duplicate calling convention from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

249

Page 250: Compiler Error Messages

cc0749 Compiler Error: a type qualifier is not allowed

Description

This error applies to top level declarations like "int x[restrict 5]" or "int y[restrict]" where another type qualifier was used instead of restrict.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example int a[const 5]; /* Error: a type qualifier is not allowed */

void main() {}

How to Fix

Replace the offending type qualifier with "restrict" or remove it from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0751 Compiler Error: static and nonstatic member functions with same parameter types cannot be overloaded

Description You overloaded a static and nonstatic member function whose parameter types are the same.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: A() {} int func() const { return 1; } static int func() { return 0; } };

void main() {}

How to Fix Ensure that member function declarations are not overloaded when they have the same name and the same parameter types and one of them is a static member function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.1)

cc0752

250

Page 251: Compiler Error Messages

Compiler Error: no prior declaration of entity-type "entity"

Description This diagnostic reports an out of scope definition of a namespace template function. No prior declaration exists.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example namespace N { template <class T> void f(T); void f(int); } void N::f(int) {} /* OK */ void N::f(double) {} /* Error: no prior declaration of function "N::f(T) [with T=dm double]" */ void main(){}

How to Fix

Ensure that a prior declaration of the function exists.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.8.1)

cc0753 Compiler Error: a template-id is not allowed

Description

A template-id of the form "template-name<template-args>" appears in a using declaration.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A { public: template <class T> void func(T); template <class T> struct S { }; }; class B : public A { public: using A::func<double>; /* Error: a template-id is not allowed */ using A::S<int>; /* Error: a template-id is not allowed */ }; void main(){}

How to Fix

Ensure that the offending using declaration does not name a template id.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

251

Page 252: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.3)

cc0754 Compiler Error: a class-qualified name is not allowed

Description

A class qualified name appears in a using declaration.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example class A { private: int Num; }; int main(){ using A::Num; /* Error: a class-qualified name is not allowed */ }

How to Fix

Ensure that a using declaration for a class member is a member declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.3)

cc0755 Compiler Error: entity-kind "entity" may not be redeclared in the current scope

Description A member template is being defined in a scope that does not enclose the scope in which the parent class was defined.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example template<class T> class Vector

{

template<class T> class Vector <T*>{}; /* Error: class "Vector<T *>"

may not be redeclared in

the current scope */

};

void main(){}

How to Fix Try to fix the declaration by referring to a C++ reference manual.

252

Page 253: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0756 Compiler Error: qualified name is not allowed in namespace member declaration

Description

If a namespace-qualified name that refers to the current namespace was found in a definition, this error is fatal. If the declarator name is qualified by the current namespace, this error is discretionary.

Severity

Fatal error

Discretionary error

Recovery The compiler cannot recover from this error.

Example namespace N { template <class T> void N::f(T); /* Fatal error */ } void main() {}

namespace A { int A::A = 5; /* Discretionary error */ }

void main() {}

How to Fix Ensure that no namespace-qualified names that refer to the current namespace are used in definitions.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.4.3.2)

cc0757 Compiler Error: entity-kind "entity" is not a type name

Description

The symbol used is not a type name. A specialization of a template is instantiated for a set of template arguments, in such a way that the qualified name prefixed by typename does not denote a type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A {};

template <class T> class B {

253

Page 254: Compiler Error Messages

public: int I; void func() { typename B<T>::I* a; /* Error: member "B<T>::I [with T=int]" is not a type name */ if (&a) { } /* suppresses warning */ } };

void main() { B<int> b; b.func(); }

How to Fix Replace the offending symbol with one that denotes a typename.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.6)

cc0758 Compiler Error: explicit instantiation is not allowed in the current scope

Description

This error is generated under any of the following conditions:

An explicit instantiation of a class or function template specialization was not placed within the same namespace as the template definition.

An explicit instantiation for a member of a class template was not placed in the namespace where the enclosing class template is defined.

An explicit instantiation for a member template was not placed in the namespace where the enclosing class or class template is defined.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> struct S {};

void main() { template struct S<int>; }

How to Fix Place an explicit instantiation of a class or function template specialization in the namespace in which the template is defined.

Place an explicit instantiation for a member of a class template in the namespace where the enclosing class template is defined.

Place an explicit instantiation for a member template in the same namespace where the enclosing class or class template is defined.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

254

Page 255: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.2)

cc0759 Compiler Error: entity-kind "entity" cannot be explicitly instantiated in the current scope

Description A definition of a class template or a class member template is not in scope at the point of the explicit instantiation of the class template or class member template.

Severity Error, discretionary

Recovery The compiler issues the error and notes that instantiation is not yet complete. Then compilation continues.

Example template <class T> struct S{};

namespace N { template struct S<int>; /* Error: class "X<int>" cannot be explicitly instantiated in the current scope */ }

void main() {}

How to Fix

Ensure that the explicit instantiation is done in a namespace that is or contains the namespace where the template was declared.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.2)

cc0760 Compiler Errors: entity-kind "entity" explicitly instantiated more than once

Description

A template was instantiated more than once through explicit instantiation.

Severity Discretionary error

Recovery The compiler issues the diagnostic and compilation continues.

Example template<class T> class A { void func(); };

template class A<int>;

template class A<int>; /* function "A<T>::func [with T=int]"

explicitly instantiated more than once */

void main(){}

How to Fix

255

Page 256: Compiler Error Messages

A template cannot be explicitly instantiated more than once. Remove the extra instantiation statements from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7)

cc0761 Compiler Error: typename may only be used within a template

Description The typename keyword was used outside of a template.

Severity Error, discretionary

Recovery The compiler issues the error and compilation continues.

Example class A { public: int I; }; typename A::I;

void main() {}

How to Fix Ensure that the typename keyword is used only in template definitions and declarations.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.6)

cc0769 Compiler Error: "entity", implicitly called from entity-kind "entity", is ambiguous

Description An ambiguous call to operator delete() function occurred. This diagnostic is issued only if the destructor is virtual.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct B { virtual ~B() {} void operator delete(void* pv) { } };

struct A {

256

Page 257: Compiler Error Messages

virtual ~A() {} void operator delete(void* pv) { } };

struct D : A, B{ virtual ~D() {} };

void main() { B *b = new D; delete b; /* Error: "D::operator delete", implicitly called from function "D::~D() dm", is ambiguous */ }

How to Fix

Resolve the ambiguity by ensuring that only one operator delete() function is applicable in the current case.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.5)

cc0771 Compiler Error: "explicit" is not allowed

Description

Illegal usage of the explicit specifier.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { public: explicit int i; A(int j) : i(j) {} };

void main() {}

How to Fix Use only the explicit specifier in declarations of constructors within a class declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.2, 12.3.1)

cc0772 Compiler Error: declaration conflicts with "xxxx" (reserved class name)

Description

The declaration conflicts with the reserved class name "type_info".

Severity Fatal error

257

Page 258: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

Example namespace std {

class type_info; /* declaration conflicts with "std::type_info"

(reserved class name) */

}

void main(){}

How to Fix

Rename the variable in the declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0774 Compiler Error: "virtual" is not allowed in a function template declaration

Description A member function template was declared virtual.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> struct A { template <class C> virtual void g(C); }; void main(){}

How to Fix

A member function template cannot be declared virtual. Either remove the offending member function declaration or make it non-virtual.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.2)

cc0775 Compiler Error: invalid anonymous union -- class member template is not allowed

Description

Declaration of the template class is not allowed in an anonymous union.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

258

Page 259: Compiler Error Messages

Example union{

template <class T> class X{

T obj;

};

int a;

};

How to Fix

Declare the template outside the anonymous union.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0777 Compiler Error: this declaration cannot have multiple "template<...>" clauses

Description

A class template declaration is not a friend, but it has multiple template parameter lists.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T> template <class U> struct A {}; /* Error: this declaration cannot have multiple "template <...>" clauses */ void main(){}

How to Fix

A declaration with more than one template parameter clause is valid only in a namespace scope definition of a member template or in a friend declaration. Remove the extra template parameter list(s).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0779 Compiler Error: "xxxx", declared in for-loop initialization, may not be redeclared in this scope

Description

The name of the variable declared in a for-init statement, or in the condition of if, while, for, and switch statements was redeclared in a subsequent condition of that statement or in the outermost block of the controlled statement.

Severity

259

Page 260: Compiler Error Messages

Fatal error

Recovery The compiler cannot recover from this error.

Example: int j = 5;

void main() { for(int i = 0; i < 5; i++) { int i = j; /* Error : i cannot be redeclared here */ if ( &i ) ; } }

How to Fix

Remove the offending redeclaration from the source file. Names declared in the for-init statement, and in the condition of if, while, for, and switch statements are local to the if, while, for, or switch statement. They cannot be redeclared in a subsequent condition of that statement nor in the outermost block (or, for the if statement, any of the outermost blocks) of the controlled statement.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.3.2)

cc0782 Compiler Error: definition of virtual entity-kind "entity" is required here

Description

An undefined virtual member function in an unnamed class, or in a named class that is nested in an unnamed class, was not defined at the point of declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct{ virtual void func(); /* Error: definition of virtual function "<unnamed>::func" is required here */ } a;

void main(){}

How to Fix

The function cannot be defined later, as it is impossible to name it. Define the function at the point of declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0784 Compiler Error: a storage class is not allowed in a friend declaration

260

Page 261: Compiler Error Messages

Description

A storage class was specified in a friend declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A { A() {} typedef friend int func(); };

void main() {}

How to Fix

A storage class specifier cannot be used in a friend declaration. Remove the offending storage class specifier.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (11.4)

cc0787 Compiler Error: not a valid member class or function template declaration

Description The function declarator on a member template declaration is missing, or the declaration of a member template is invalid.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T> class A

{

public:

template<class T2> int (const T2&);

};

void main(){}

How to Fix Supply the missing function declarator at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0788 Compiler Error: a template declaration containing a template parameter list

261

Page 262: Compiler Error Messages

may not be followed by an explicit specialization declaration

Description A template declaration containing a template parameter list was followed by an explicit specialization declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T1> class A { public: template<class T2> class B { public: void func() {} }; };

template<class Y> template<> /* Error: a template declaration containing a template parameter list may not be followed by an explicit specialization declaration */ void func() {}

void main() {}

How to Fix Ensure that an explicit specialization declaration does not follow a template declaration containing a template parameter list.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.3)

cc0790 Compiler Error: explicit specialization is not allowed in the current scope

Description

A template explicit specialization was declared outside of namespace scope.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T> void func(T) {}

struct S { template<> void func(int); /* Error: */ };

void main() {}

How to Fix

262

Page 263: Compiler Error Messages

A specialization declaration is permitted only in a namespace scope. Remove the offending specialization from its current position in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.3)

cc0791 Compiler Error: partial specialization of entity-kind "entity" is not allowed

Description Partial specialization cannot be applied to this particular entity.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example: template<class T1> class A { public: template<class T2> class B { public: void mf1() {} }; };

template<class Y> template<>

void A<Y>::B<double>::mf1() {} /* Error: partial specialization of nontype "A<T1>::B<T2>::mf1 [with T2=double]" is not allowed */ void main() {}

How to Fix

Remove the offending partial specialization from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.4)

cc0792 Compiler Error: entity-kind "entity" is not an entity that can be explicitly specialized

Description

The compiler encountered explicit specialization on an entity that cannot be explicitly specialized.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

263

Page 264: Compiler Error Messages

Example template <> class B; /* Error: class "B" is not an entity that can be explicitly specialized */

void main(){}

How to Fix

Ensure that explicit specialization of the entity is possible, or remove the offending specialization from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0793 Compiler Error: explicit specialization of entity-kind "entity" must precede its first use

Description

An explicit specialization was not declared before its first use.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T> class A {};

A<int> ox;

template<> class A<int> {}; /* Error: explicit specialization of class "A<int>" must precede its first use */

void main() {}

How to Fix

Ensure that the offending explicit specialization is declared before its first use.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.3)

cc0794 Compiler Error: template parameter xxxx may not be used in an elaborated type specifier

Description

An elaborated type specifier contains a template type parameter as the identifier.

Severity Warning

Fatal error in strict mode (compiling with the -strict command line option)

Recovery

If a warning is indicated, the compiler issues the warning and compilation continues.

If a fatal error is indicated, the compiler cannot recover.

264

Page 265: Compiler Error Messages

Example class A {}; template <class T> class B { class T x; }; /* Error: template parameter T may not be used in an elaborated type specifier */ B<A> b;

void main(){}

How to Fix

Ensure that template type parameters are not used as the identifiers in elaborated type specifiers.

Related Information ISO/IEC 9899:1990 "Programming Languages - C".

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.5.3)

cc0800 Compiler Error: this declaration may not have extern "C" linkage

Description

A template, a template explicit specialization, or a class template partial specialization has "C" linkage.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example extern "C" { template<class T> /* Error: this declaration may not have extern "C" linkage */ class A {}; }

void main() {}

How to Fix

Ensure that templates, template explicit specializations, or class template partial specializations do not have "C" linkage.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14)

cc0801 Compiler Error: "xxxx" is not a class or function template name in the current scope

Description An explicit specialization was declared outside of the namespace of which the template is a member, or for member templates outside the namespace of which the enclosing class or the enclosing class template is a member. The error also applies when an explicit specialization of a member function, member class, or static data member of a class template is declared outside the namespace of which the class

265

Page 266: Compiler Error Messages

template is a member.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example namespace N { template <class T> void func(T*); }

template<> void func(int*); /* Error: "func" is not a class or function template name in the current scope */

void main() {}

How to Fix Ensure that the offending explicit specialization is declared inside the correct namespace.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.7.3)

cc0802 Compiler Error: specifying a default argument when redeclaring an unreferenced function template is nonstandard

Description

A default argument was specified when a function template to which there was no reference was redeclared.

Severity

Warning

Fatal error, in strict mode (compiling with the -strict command-line option)

Recovery If a warning is indicated, the compiler issues the warning and compilation continues.

If a fatal error is indicated, the compiler cannot recover.

Example template <class T> void func (T*, T);

template <class T> void func (T*, T = 1) {} /* Error: specifying a default argument when redeclaring an unreferenced function template is nonstandard */ void main() {}

How to Fix

Remove the offending default argument from the function template redeclaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

266

Page 267: Compiler Error Messages

cc0803 Compiler Error: specifying a default argument when redeclaring an already referenced function template is not allowed

Description A default argument was specified when a function template that was already referred to was redeclared.

Severity

Fatal error

Recovery

The compiler cannot recover from the error.

Example template <class T> void func1 (T*, T);

void func2() { int i = 1; func1 (&i, i); }

template <class T> void func1 (T*, T = 1) {} /* Error: */

void main() {}

How to Fix

Remove the offending default argument from the function template redeclaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.1)

cc0804 Compiler Error: cannot convert pointer to member of base class "type" to pointer to member of derived class "type" -- base class virtual

Description

You are trying to convert a pointer-to-member of a base class to a pointer-to-member of a derived class when the base class is virtual.

Severity

Fatal error

Recovery

The compiler cannot recover from the error.

Example class A { public: int num; };

class B : virtual public A {};

int B::*pmb = &A :: num;

void main() {}

How to Fix

267

Page 268: Compiler Error Messages

Converting a pointer to member of a base class to a pointer to member of a derived class is possible only when the base class is not inaccessible, ambiguous, or virtual. Remove the offending illegal statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (4.11)

cc0810 Compiler Error: uninitialized base class "type" has a const member

Description

An uninitialized base class has a const member.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A

{

public:

const int i;

};

class B : public A

{

B(int x)

{

}

};

void main(){}

How to Fix

Initialize the offending base class or ensure that it does not contain any const members.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0811 Compiler Error: const entity-type "entity" requires an initializer -- class "type" has no explicitly declared default constructor

Description A const class variable with no explicitly declared default constructor was not initialized.

Severity

Fatal error

268

Page 269: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

Example class A { public: A& operator = (A&); };

void main(){ A a; const A a1; /* Error: const variable "a1" requires an initializer -- class "A" has no explicitly declared default constructor */ }

How to Fix Ensure that the offending const class variable is initialized.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.15.1)

cc0812 Compiler Error: const object requires an initializer -- class "type" has no explicitly declared default constructor

Description The initializer was omitted on a "new" of a const class object when the default constructor of the class was not explicitly declared.

Severity Error, discretionary in strict mode

Warning, if an empty class

Recovery

The compiler issues the diagnostic and compilation continues.

Example struct S { int i; };

void main() { const S *s = new const S;

s++; /* suppresses warnings */ }

How to Fix

If the initializer is omitted on a "new" of a const class object, ensure that the default constructor is explicitly declared (it cannot be implicit).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.4, p. 15)

cc0815

269

Page 270: Compiler Error Messages

Compiler Error: type qualifier on return type is meaningless

Description Inside a template instantiation the type qualifier is sometimes useless, though generally not, for some instantiations. In such cases a remark is issued when you compile with the -Wremarks command line option. This diagnostic is also issued as a warning in circumstances when the type qualifier on a particular return type is meaningless.

Severity

Remark, when you compile with the -Wremarks command line option

Warning, when the type qualifier on a particular return type is meaningless

Recovery The compiler issues the diagnostic, ignores the meaningless type qualifier and compilation continues.

Example template <class T> struct S { const T func(); }; struct T {}; S<int> s; /* Remark - S<int>::func returns const int (useless) */

void main(){}

As a warning:

class A { public: int i; A():i(10){} const int X(int j); /* Warning: type qualifier on return type is meaningless. };

void main() {}

How to Fix Remove the offending type qualifier from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0816 Compiler Error: in a function definition a type qualifier on a "void" return type is not allowed

Description A void return type on a function definition has a qualifier. This C-specific error is issued only when you compile in strict mode (with the -strict compile line option).

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example void const func() {}

270

Page 271: Compiler Error Messages

void main() {}

How to Fix Remove the offending type qualifier from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0817 Compiler Error: static data member declaration is not allowed in this class

Description

A static data member was present in a local class, a union, an unnamed class, or a class contained within an unnamed class.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example union U { static int i; };

void main() {}

How to Fix Make the offending data member non-static or remove it from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.4.2, 9.5, 9.8)

cc0818 Compiler Error: template instantiation resulted in an invalid function declaration

Description A local type was used within a function declaration.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example void func() { struct S {}; void func(S); /* Error: use of a local type to declare a function */ } void main(){}

How to Fix

271

Page 272: Compiler Error Messages

Remove the local type from the function declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0819 Compiler Error: "..." is not allowed

Description

Ellipsis was used in an old style parameter list. This error is C specific.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void f(i, ...) {}

int main(){ return 0; }

How to Fix Ellipsis in an old style parameter list are not allowed. Remove the ellipsis.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0821 Compiler Error: extern inline entity-kind "entity" was referenced but not defined

Description An extern-inline function that was referenced was not defined.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T>

inline T func( T num ); /* Error: extern inline function

"func(T) [with T=int]" was referenced but

not defined */

void main(){

func(1);

}

How to Fix

Provide a definition for the offending function at the appropriate place in the source file.

Related Information

272

Page 273: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0822 Compiler Error: invalid destructor name for type "type"

Description

In a scenario where the notation "class-name :: ~ class-name" is used to name the class destructor, the two class names do not refer to the same class.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A {

public:

class B {

public:

int j;

B(int i) : j(i) {}

~B() {}

};

};

void main(){

A a;

a.A::~B(); /* Error: invalid destructor name for type "A" */

}

How to Fix

When you use the notation "class-name :: ~ class-name" to name a class destructor, ensure that the two class names refer to the same class.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.1 p7)

cc0824 Compiler Error: "destructor reference is ambiguous -- both entity-kind "entity" and entity-kind "entity" could be used"

Description

The destructor reference is ambiguous.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

273

Page 274: Compiler Error Messages

Edit the offending statement to remove ambiguity.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0825 Compiler Error: virtual inline entity-kind "entity" was never defined

Description

A non-local inline virtual function is not defined and referred to. This error occurs in strict mode because being declared virtual counts as a use, and inline functions that are used must be defined.

Severity

Discretionary error

Recovery

The compiler issues the diagnostic and compilation continues.

Example class A

{

public:

virtual inline void clrdata(); /* virtual inline function

"A::clrdata" was never defined

*/

};

void main() {}

How to Fix

Provide a definition for the offending function at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0827 Compiler Error: only one member of a union may be specified in a constructor initializer list

Description

More than one member of a union was specified in a union constructor initializer list.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example union U

{

int i;

274

Page 275: Compiler Error Messages

double d;

U() : i(1), d(6.78) {}

};

void main() {}

How to Fix Remove the extra members of the union constructor initializer list and leave only one member.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (12.6.2)

cc0828 Compiler Error: support for "new[]" and "delete[]" is disabled

Description

Overloading of operators "new[]" and "delete[]" is disallowed - compiling with the -no-newvec command line option.

Severity Fatal error

Recovery The compiler issues the error if support for array new/delete is not enabled, but continues parsing as though it were.

Example #include <iostream.h>

class A

{

public:

void* operator new[]( size_t );

void operator delete[]( void* );

};

void main() {}

How to Fix

Enable the overloading of operators "new[]" and "delete[]" by compiling with the -newvec command line option. In SHARC version 6.1.0, -newvec is enabled by default.

Related Information

Documentation for the -no-newvec and -newvec options

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0832 Compiler Error: no appropriate operator delete is visible

Description

No default operator delete is available for this class.

275

Page 276: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example struct S {

int s;

void operator delete (void* , int ) {}

};

void main()

{

S* ps = new S;

delete ps; /* Error: no appropriate operator delete is visible */

}

How to Fix

Provide an appropriate operator delete at the appropriate place in the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0833 Compiler Error: pointer or reference to incomplete type is not allowed

Description The compiler encountered a pointer or reference to an incomplete type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Remove the offending pointer or reference declaration from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0834 Compiler Error: invalid partial specialization -- entity-kind "entity" is already fully specialized

Description

A partial specialization is invalid because a full specialization has already occurred.

Severity

Fatal error

Recovery

276

Page 277: Compiler Error Messages

The compiler cannot recover from this error.

Example template<class T>

class Y {};

template<class V>

class Y<int>{}; /* Error: invalid partial specialization --

class "Y<int>" is already fully specialized */

void main(){}

How to Fix

Remove the offending partial specialization statement from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0835 Compiler Error: incompatible exception specifications

Description

A conversion failed because of a difference in exception specifications. SHARC version 6.1.0 does not support exceptions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Ensure that concerned exception specifications are compatible.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (15.4)

cc0840 Compiler Error: a template argument list is not allowed in a declaration of a primary template

Description

A template argument list was used in a declaration of a primary template.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T1, class T2, int I>

class A<T1, T2, I>; /* Error: a template argument list is not allowed

in a declaration of a primary template */

277

Page 278: Compiler Error Messages

void main() {}

How to Fix A template argument list cannot be specified in the declaration of a primary template. Remove the offending argument list from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5)

cc0841 Compiler Error: partial specializations may not have default template arguments

Description The template parameter list of a partial specialization contains default template argument values.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T1, class T2>

class S {};

template <class T = int>

class S<T, T*> {};

void main() {}

How to Fix Remove the default template argument values from the template list of the specialization.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.4)

cc0842 Compiler Error: entity-kind "entity" is not used in template argument list of entity-kind "entity"

Description

A partially specialized non-type argument expression involves a template parameter of the partial specialization, and the argument expression is not a simple identifier.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example

278

Page 279: Compiler Error Messages

template <int I, int J>

struct A {};

template <int I>

struct A<I+1, I*2> {}; /* Error: constant "I" is not used in template

argument list of class template

"A<<template-expr>, <template-expr>>" */

void main(){}

How to Fix

Ensure that partially specialized non-type argument expressions do not involve template parameters of the partial specialization except when the argument expression is a simple identifier.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.4)

cc0843 Compiler Error: the type of partial specialization template parameter entity-kind "entity" depends on another template parameter

Description The type of a partial specialization template parameter depends on another template parameter.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Change the source code to ensure that the type of the offending partial specialization template parameter does not depend on another template parameter.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0844 Compiler Errors: the template argument list of the partial specialization includes a nontype argument whose type depends on a template parameter

Description

The type of a template argument of a partial specialization depends on a template parameter. This error can occur when a value is used as a template argument of the primary template whose type depends on another template parameter.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

279

Page 280: Compiler Error Messages

Example template <class T, T t>

struct A {};

template <class T>

struct A <T, 1>;

void main(){}

How to Fix

Ensure that the template argument list of the partial specialization does not contain an argument whose value depends on a template parameter.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.4)

cc0845 Compiler Error: this partial specialization would have been used to instantiate entity-kind "entity"

Description Partial specialization would have occurred after an instantiation.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Remove the offending partial specialization statement from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0846 Compiler Error: this partial specialization would have made the instantiation of entity-kind "entity" ambiguous

Description

Partial specialization coming after an instantiation is ambiguous.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove the offending partial specialization statement from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

280

Page 281: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0847 Compiler Error: expression must have integral or enum type

Description

An expression is not of integral or enum type in circumstances when it must be that type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example void main()

{

char *c="hello"+"world";

c++; /* suppresses warning */

}

How to Fix

Replace the offending expression with an expression of integral or enum type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0848 Compiler Error: expression must have arithmetic or enum type

Description

An expression is not of arithmetic or enum type in circumstances when it must be that type.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example struct S

{

int s;

S() : s(2) {}

};

void main()

{

int i = 3;

int &r = i;

281

Page 282: Compiler Error Messages

S s;

S& rs = s;

(i>1) ? r : rs; /* Error: expression must have arithmetic or

enum type */

/*

suppress warnings

*/

i++;

r++;

rs.s++;

}

How to Fix

Replace the offending expression with an expression of arithmetic or enum type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0849 Compiler Error: expression must have arithmetic, enum, or pointer type

Description An expression is not of arithmetic, enum, or pointer type in circumstances when it must be that type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A

{

public:

int i;

};

int A::*p = &A::i;

void main()

{

p++; /* Error: expression must have arithmetic, enum, or

pointer type*/

}

How to Fix

Replace the offending expression with an expression of arithmetic, enum, or pointer type.

Related Information

282

Page 283: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0850 Compiler Error: type of cast must be integral or enum

Description Casting was to a non-integral type in an integral constant expression. A cast that is the immediate operand of another cast integer pointer is allowed as an extension, though not in strict (compiling with the -strict compile line option) mode.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove the offending casting expression from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0851 Compiler Error: type of cast must be arithmetic enum or pointer

Description

Casting was to a non-scalar type in an initializer expression.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove the offending casting expression from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.1)

cc0852 Compiler Error: expression must be a pointer to a complete object type

Description An expression contains a pointer to an incomplete object type.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

283

Page 284: Compiler Error Messages

class A;

A* aptr;

void func()

{

aptr += 1; /* Error: expression must be a pointer to a complete

object type */

}

class A {}; /* Class A completed here */

void main() {}

How to Fix

Ensure that the object type is complete before using a pointer to that object.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.6, 5.7)

cc0854 Compiler Error: a partial specialization nontype argument must be the name of a nontype parameter or a constant

Description

A partially specialized nontype argument expression involves a template parameter of the partial specialization when the argument expression is not a simple identifier.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T,int I,int J>

class A {};

template <int I>

class A<int,I,I*2> {};

void main() {}

How to Fix

Ensure that partial specialization nontype arguments are names of nontype parameters or constants.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.2)

cc0855

284

Page 285: Compiler Error Messages

Compiler Error: return type is not identical to return type "type" of overridden virtual function entity-kind "entity"

Description

This error is issued only when "ABI changes" for the covariant virtual function return is not enabled. "ABI changes" is enable by default.

The return type of a function that overrides a virtual function is not identical or covariant with the return type of the overridden function.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

Example class A {};

class B : private A{};

class C {

virtual A* foo();

};

class D : public C {

B* foo(); /* Error: A (base class of B) is inaccessible */

};

int main(){}

How to Fix Ensure that the return type of the overriding function is identical or covariant to that of the overridden function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (10.3)

cc0857 Compiler Error: a partial specialization of a class template must be declared in the namespace of which it is a member

Description A partial specialization of a class template was not declared in the namespace of which it is a member.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <int I,int J> struct B {};

namespace N

{

template <int I> struct B<I, I> {};

285

Page 286: Compiler Error Messages

}

void main(){}

How to Fix Ensure that the offending partial specialization is declared in the class of which it is a member. An exception is made for partial specializations of a template that is itself a specialization of a member class template.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.4)

cc0858 Compiler Error: entity-kind "entity" is a pure virtual function

Description

This error is not a stand-alone error or diagnostic. It is used only in conjunction with other errors or diagnostics. The example below is an attempt to create an object of an abstract class type. This attempt causes error cc0322 (abstract class object not allowed) when the present diagnostic is used to identify and display any pure virtual functions causing the class to be abstract.

Severity Not Applicable

Recovery Not Applicable

Example class A{

virtual void foo() = 0; /* pure virtual function */

};

int main(){

A a; /* error# 322: object of abstract class type "A" is not allowed:

function "A::foo" is a pure virtual function

A a; */

}

How to Fix Not Applicable

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0859 Compiler Error: pure virtual entity-kind "entity" has no overrider

Description

This error is not a stand-alone error or diagnostic. It is used only in with other errors or diagnostics. The example below is an attempt to create an object of a class type that is derived from an abstract class type. A pure virtual function in the abstract

286

Page 287: Compiler Error Messages

base class has not been overridden in the derived class. This attempt, therefore, causes error cc0322 (abstract class object not allowed) when the present diagnostic is used to identify and display any pure virtual functions that do not have an overrider.

Severity

Not Applicable

Recovery

Not Applicable

Example class B

{

public:

virtual void foo() = 0;

};

class A : public B {

public:

};

int main(){

A a; /* error 322: object of abstract class type "A" is not allowed:

pure virtual function "B::foo" has no overrider

A a; */

}

How to Fix Not Applicable

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0861 Compiler Error: invalid character in input line

Description

A logical source line contains invalid character(s). If the line contains more than one character, only the position of the first character is identified.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove the offending invalid characters from the logical source line.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

287

Page 288: Compiler Error Messages

cc0862 Compiler Error: function returns incomplete type "type"

Description

A function returns an incomplete type because the name of the function is not available. Presumably, it is called through a pointer to function variable.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example class A;

A error (int s){}

A (*efct) (int);

void main()

{

efct = &error;

efct (3); /* Error: function returns incomplete type "A"

efct (3); */

}

How to Fix Ensure that the type that the offending function returns is a complete type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0863 Compiler Error: effect of this "#pragma pack" directive is local to entity-kind "entity"

Description

A #pragma pack appears within an instantiation or inline-defined member function definition.

Severity Remark

Recovery The compiler issues the diagnostic and compilation continues.

Example: class A

{

public:

inline void func(){

#pragma pack(2)

}

};

288

Page 289: Compiler Error Messages

void main(){}

How to Fix

Declare the offending #pragma pack at file scope.

Related Information

Compiler documentation for pragmas

cc0864 Compiler Error: xxxx is not a template

Description

The compiler encountered an entity that masquerades as a template.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template <class T>

void func1<T>::func2 () {} /* Error: func1 is not a template */

void main() {}

How to Fix Ensure that the offending entity is declared as a template earlier in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0865 Compiler Error: a friend declaration may not declare a partial specialization

Description

A partial specialization was present within a friend declaration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T> class A {};

class B

{

template<class T> friend class A<T*>;

};

void main(){}

How to Fix

A partial specialization is not permitted in a friend declaration. Remove the offending

289

Page 290: Compiler Error Messages

partial specialization declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.4)

cc0866 Compiler Error: exception specification ignored

Description

This diagnostic is issued when the compiler mode is set to ignore exception specifications (for example, in Microsoft-compatibility mode). SHARC version 6.1.0 does not support exceptions.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Remark

Recovery

Exception specification is parsed and discarded. The compiler issues the remark and compilation continues.

How to Fix

Ensure that the compiler version supports exception handling.

Related Information

Compiler documentation

cc0868 Compiler Error: space required between adjacent ">" delimiters of nested template argument lists (">>" is the right shift operator)

Description

A ">>" appears to have been intended to close two template argument lists.

Severity Fatal error

Recovery

The compiler issues a special diagnostic for this case and inserts a ">" into the token stream that will close the outer template argument list. The compiler cannot recover from this error.

Example template <class T>

class A {};

void main()

{

A<A<int>> nest;

}

How to Fix

Insert a space between the two adjacent ">" delimiters.

290

Page 291: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.2)

cc0869 Compiler Error: could not set locale "xxxx" to allow processing of multibyte characters

Description

This diagnostic is issued only if the locale is set for processing multibyte characters in the source file and multibyte characters still cannot be processed.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for processing multibyte characters.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Remove the offending multibyte characters from the source file.

Related Information

See also:

Refer to compiler documentation.

cc0871 Compiler Error: template instantiation resulted in unexpected function type of "type" (the meaning of a name may have changed since the template declaration -- the type of the template is "type")

Description The routine type created by this instance does not match the template.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Ensure that the binding of names used in the declarations has not changed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0872 Compiler Error: ambiguous guiding declaration -- more than one function template "entity" matches type "type"

Description

A declaration is a guiding declaration for more than one template function.

291

Page 292: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that the offending declaration is not a guiding declaration for more than one template function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0873 Compiler Error: non-integral operation not allowed in nontype template argument

Description A non-integral operation was found in a nontype template argument.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error cannot be reproduced at the present time.

How to Fix

Ensure that non-integral operations are not used in nontype template arguments.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0884 Compiler Error: pointer-to-member representation "xxxx" has already been set for entity-kind "entity"

Description

Inheritance kind has already been set for this class.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

292

Page 293: Compiler Error Messages

cc0885 Compiler Error: "type" cannot be used to designate constructor for "type"

Description

The constructor name following a class qualifier did not match the original class name.

Severity Fatal error

Recovery: The compiler cannot recover from this error.

Example

This error cannot be reproduced at the present time.

How to Fix

When a constructor name follows a class qualifier, ensure that the constructor name matches the original class name.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0886 Compiler Error: invalid suffix on integral constant

Description

The Microsoft compiler allows a suffix like "i32" indicating a 32-bit integer. Suffix "ui32" indicates an unsigned 32-bit integer. This error is issued when the size of the suffix is invalid.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

Example This error cannot be reproduced with Microsoft mode not enabled.

How to Fix

Change the size of the suffix to a valid one (for example, i8, i16, i32, i64).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0887 Compiler Error: operand of __uuidof must have a class type for which __declspec(uuid("...")) has been specified

Description

This error concerns the usage of __uuidof when Microsoft extensions are enabled.

293

Page 294: Compiler Error Messages

The operand of __uuidof must have a class type for which __declspec(uuid("...")) has been specified.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example

This error cannot be reproduced with Microsoft mode not enabled.

How to Fix

Ensure that the operand of __uuidof has a class type for which __declspec(uuid("...")) has been specified.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0888 Compiler Error: invalid GUID string in __declspec(uuid("..."))

Description

This error concerns the use of __declspec when Microsoft extensions are enabled. An invalid GUID string in __declspec(uuid("...")).

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Ensure that the syntax uuid ( string-literal ) is used where the string-literal optionally begins and ends with braces and is of the form: hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh

The letter "h" is any hex digit and the hyphens are required.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0890 Compiler Error: variable length array with unspecified bound is not allowed

Description In this array the variable bound is unspecified in one of its dimensions.

Severity Fatal error

294

Page 295: Compiler Error Messages

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that the variable bound of the array is specified in all of its dimensions.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0891 Compiler Error: an explicit template argument list is not allowed on this declaration

Description

An explicit template argument list was used on a declaration that is not an explicit specialization, explicit instantiation, or a friend declaration.

An explicit template argument list is permitted only on explicit specializations, explicit instantiations, and friend declarations.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example template<class T>

void func() {}

template<class T>

void func<int>(){}

void main() {}

How to Fix

Remove the offending explicit template argument list from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0892 Compiler Error: an entity with linkage cannot have a variably modified type

Description An entity with linkage has a variably modified type.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

295

Page 296: Compiler Error Messages

Ensure that entities with linkage do not have variably modified type.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0893 Compiler Error: a variable length array cannot have static storage duration.

Description

A variable length array was declared with static storage duration.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

An object with static storage duration cannot be a variable length array.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0894 Compiler Error: entity-kind "entity" is not a template

Description A nontype symbol is followed by a template argument list in a non-expression context.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Remove the template argument list.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0896 Compiler Error: expected a template argument

Description

The compiler expected to find a template argument at the indicated error position.

Severity Fatal error

Recovery The compiler cannot recover from this error.

296

Page 297: Compiler Error Messages

How to Fix

Supply a template argument at the error position.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0898 Compiler Error: nonmember operator requires a parameter with class or enum type

Description

An operator function is not a nonstatic member and does not have operands of class or enum type (or reference to class or enum type).

Operators new and delete are not affected.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A

{

private:

int i;

public:

A(int j = 0) : i(j) {}

friend A operator+(int);

};

void main() {}

How to Fix

Ensure that the offending operator function has operands of class or enum type (or reference to class or enum type).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (13.5)

cc0901 Compiler Error: qualifier of destructor name "type" does not match type "type"

Description

The destructor name was specified with a qualified name, but the class specified by the qualifier does not name the field selection class or a base class thereof.

Severity Fatal error

Recovery

297

Page 298: Compiler Error Messages

The compiler cannot recover from this error.

Example class A {

public:

class B {

public:

int i;

B() : i(1) {}

~B() {}

};

};

A a;

int main()

{

int B;

a.B::~B(); /* Error: qualifier of destructor name "A::B" does not

match type "A" */

return 0;

}

How to Fix

If the destructor name was specified with a qualified name, ensure that the class specified by the qualifier names the field selection class or a base class thereof.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.1)

cc0905 Compiler Error: incorrect property specification; correct from is __declspec(property(get=name1,put=name2))

Description

This error is issued only when Microsoft mode is enabled.

When scanning the Microsoft C++ mode extension __declspec(property(get=gname,put=pname)), the compiler found that the parenthesized list was missing, "get" or "put" was missing, or a name following "get=" or "put=" was missing.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

298

Page 299: Compiler Error Messages

Insert the missing syntax at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0906 Compiler Error: property has already been specified

Description

This error is issued only when Microsoft mode is enabled.

When scanning the Microsoft C++ mode extension __declspec(property(get=gname,put=pname)), the compiler found that a "get" or "put" was specified more than once.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove the extra "get" or "put" from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0907 Compiler Error: declspec(property) is not allowed on this declaration

Description This diagnostic is issued only when Microsoft mode is enabled.

A declaration includes __declspec(property(...)). This use is valid only on nonstatic data members that are not bit fields.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error, when used on a class declaration

Discretionary error, in all other cases

Recovery If a fatal error is indicated, the compiler cannot recover.

If a discretionary error is indicated, the compiler issues the diagnostic and compilation continues. If a linkage specification appeared among the decl-specifiers, the compiler restores the default name linkage.

How to Fix

Remove __declspec(property(...)) from the declaration.

Related Information

299

Page 300: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0908 Compiler Error: member is declared with __declspec(property), but no "get" function was specified

Description

This error is issued only when Microsoft mode is enabled.

A member was declared with __declspec(property(...)), but a "get" function was not specified.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Specify a "get" function at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0909 Compiler Error: the __declspec(property) "get" function "xxxx" is missing

Description This error is issued only when Microsoft mode is enabled.

A __declspec(property) "get" function was not found.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Define the missing __declspec(property) "get" function at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0910 Compiler Error: member is declared with __declspec(property), but no "put" function was specified

300

Page 301: Compiler Error Messages

Description

This error is issued only when Microsoft mode is enabled.

A member was declared with __declspec(property(...)), but a "put" function was not specified.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Specify a "put" function at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0911 Compiler Error: the __declspec(property) "put" function "xxxx" is missing

Description

This error is issued only when Microsoft mode is enabled.

A __declspec(property) "put" function was not found.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Define the missing __declspec(property) "put" function at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0913 Compiler Error: missing or invalid segment name in __declspec(allocate("..."))

Description

This error is issued only when Microsoft mode is enabled.

A Microsoft __declspec(allocate("...")) specifier had a missing or invalid segment name.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

301

Page 302: Compiler Error Messages

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Ensure that the segment name is present and valid.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0914 Compiler Error: declspec(allocate) is not allowed in this declaration

Description This error is issued only when Microsoft mode is enabled.

A __declspec(allocate) is not allowed in this declaration. It is allowed only for variables with static storage duration.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove the offending __declspec(allocate) from the declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0915 Compiler Error: a segment name has already been specified

Description

This error is issued only when Microsoft mode is enabled.

A segment name has been specified more than once.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix

Remove the duplicate segment name specification from the source file.

Related Information

302

Page 303: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0916 Compiler Error: cannot convert pointer to member of derived class "type" to pointer to member of base class "type" -- base class is virtual

Description

The conversion of a "pointer to member of a derived class" to a "pointer to member of a base class" was attempted when the base class is virtual.

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

Example class A {

public:

int i;

A(int j=2) : i(j) {}

};

class B : public virtual A {

public:

int i;

B(int j=0) : i(j) {}

};

int B::*dptr = &B::i;

int A::*bptr = &A::i;

void main()

{

bptr = (int A::*) dptr; /* Error: cannot convert pointer to member

of derived class "B" to pointer to member

of base class "A" -- base class is

virtual. */

}

How to Fix

Ensure that the base class is non-virtual or remove the offending conversion statement from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.4)

cc0919 Compiler Error: invalid output file: "xxxx"

303

Page 304: Compiler Error Messages

Description

The file name supplied for an output file, such as the template information file, is invalid.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Supply a valid file name to replace the offending invalid file name.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0920 Compiler Error: cannot open output file: "xxxx"

Description

The compiler cannot open this output file (it could be a template information file).

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Ensure that the file resides in the specified directory and that all the file permissions have been set correctly.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0925 Compiler Error: a type qualifier cannot be applied to a function type

Description A type qualifier was applied to a function type.

Severity

Discretionary error

Recovery

The compiler issues the diagnostic and compilation continues.

Example typedef void func();

class A

{

const func f;

};

304

Page 305: Compiler Error Messages

void main() {}

How to Fix Remove the offending type qualifier from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (8.3.5)

cc0926 Compiler Error: cannot open list file: "xxxx"

Description

The compiler cannot open this definition list file.

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Ensure that the definition list file is situated in the specified directory and that all the file permissions have been set correctly.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0928 Compiler Error: incorrect use of va_start

Description

The va_start macro was used incorrectly (for example, the va_start macro used in a constant expression).

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Remove the incorrect code from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0929 Compiler Error: incorrect use of va_arg

Description

The va_arg macro was used incorrectly (for example, the va_arg macro used in a

305

Page 306: Compiler Error Messages

constant expression).

Severity Fatal error

Recovery The compiler cannot recover from this error.

How to Fix Remove the incorrect code from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0930 Compiler Error: incorrect use of va_end

Description

The va_end macro was used incorrectly (for example, the va_end macro used in a constant expression).

Severity

Fatal error

Recovery

The compiler cannot recover from this error.

How to Fix

Remove the incorrect code from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0942 Compiler Warning: enum bit-fields are always unsigned, but enum "type" includes negative enumerator

Description

An enum bit-field has a negative enumerator.

Severity Warning

Recovery The compiler issues the warning and compilation continues.

How to Fix Ensure that the offending bit-field does not include a negative enumerator.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0979

306

Page 307: Compiler Error Messages

Compiler Error: Variable length array cannot be pm qualified.

Description

You are declaring the variable length array with pm qualification.

Severity Error

Recovery The compiler issues the error and compilation continues.

Example void func(int n)

{

pm int var[n]; // declaration causes error.

How to Fix

Remove the pm qualifier.

Related Information

For SHARC DSPs, see page 1-82 in the VisualDSP++ C/C++ Compiler and Library Manual for 32-Bit Processors.

For 16-bit processors, see the VisualDSP++ C/C++ Compiler and Library Manual for 16-Bit Processors.

For ADSP-218x DSPs, see page 1-69

For ADSP-219X DSPs, see page 1-77

cc1086 Compiler Error: Invalid function name specified for #pragma linkage_name.

Description

The string specified by #pragma linkage_name must be a valid identifier name.

Severity

Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example #pragma linkage_name "cra+"

void fred();

How to Fix Put a valid identifier name in the pragma specification.

Related Information

See also the section about linking pragma behavior in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1097 Compiler Error: Function declaration expected after #pragma linkage_name specified.

Description

The #pragma linkage name should immediately precede a function declaration.

307

Page 308: Compiler Error Messages

Severity

Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example #pragma linkage_name "crash"

int z;

How to Fix

Declare a function immediately after the #pragma linkage_name directive.

Related Information See also the section about linking pragma behavior in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1100 Compiler Error: invalid register class specification.

Description

The __regclass specifier has to specify a valid register class for a given platform.

Severity

Error

Recovery The compiler reports the error and continues to check syntax and semantics.

Example void g(int);

void f()

{

__regclass("bad_regs") int x;

g(x);

}

How to Fix Change the string to specify a valid register class.

Related Information

For TigerSHARC processors, see also the section about the __regclass construct in the "Compiler" chapter of the VisualDSP++ C/C++ Compiler and Library Manual for TigerSHARC Processors.

cc1101 Compiler Error: invalid constraint in asm statement.

Description

Asm statements have a valid set of letters representing constraints. An error is issued if an invalid letter is used.

Severity Error

Recovery The compiler reports the error and continues to check syntax and semantics.

308

Page 309: Compiler Error Messages

Example void f()

{

int result, x=2;

__asm("%0=%1;" : "=d" (result) : "z" (x));

}

How to Fix

Change the letter-representing constraint to a valid one.

Related Information

See also the information about constraint register types in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1102 Compiler Error: constraint for asm output operand must use "=".

Description

The output operand should specify an "=" before its constraint letter.

Severity Error

Recovery The compiler reports the error and continues to check syntax and semantics.

Example void f()

{

int result, x=2;

__asm("%0=%1;" : "d" (result) : "d" (x));

}

How to Fix

Insert "=" before the constraint letter in the output operand.

Related Information

See also the information about constraint register types in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1103 Compiler Error: unknown register name.

Description

The clobber string in an asm statement contains an unrecognized register for the platform being targeted.

Severity

Error

Recovery The compiler reports the error and continues to check syntax and semantics.

Example

309

Page 310: Compiler Error Messages

void f()

{

int result, x=2;

__asm("%0=%1;" : "=d" (result) : "d" (x) : "breg");

}

How to Fix Change the register marked as invalid to a valid register.

Related Information See also the information about constraint register types in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1110 Compiler Error: pragma section requires associated function or variable declaration to follow

Description This error is issued if pragma section does not precede a function or variable declaration.

Severity

Error

Recovery

The compiler cannot recover from this error.

Example The pragma does not precede a function or variable declaration, resulting in the error. #pragma section("mysec") struct t { int a; };

How to Fix Use the pragma only where it precedes a function or variable declaration. For example: #pragma section("mysec") struct { int a; } x;

cc1112 Compiler Error: global or local variable or field member declaration required for pragma align.

Description

The #pragma align directive must be followed by a variable or member declaration.

Severity Error

Recovery The compiler reports the error and continues to check syntax and semantics.

310

Page 311: Compiler Error Messages

Example #pragma align 4

void func();

How to Fix

Remove the pragma or follow it with a valid declaration.

Related Information See also the section about data alignment pragmas in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1113 Compiler Error: numerical decimal digits required for pragma align.

Description

The #pragma align directive must specify a decimal value.

Severity

Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example #pragma align

int x;

How to Fix Add a valid alignment value to the pragma directive.

Related Information See also the section about data alignment pragmas in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1115 Compiler Error: invalid pad alignment value.

Description

The alignment value for #pragma pad must be a valid number (for example, 1, 2, 4, 8, 16, and so on).

Severity

Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example #pragma pad(3)

int x;

How to Fix Correct the alignment value.

Related Information For SHARC and Blackfin DSPs, see also the section about PAD (ALIGNOPT) pragmas in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

311

Page 312: Compiler Error Messages

cc1117 Compiler Error: invalid value for alignment specified by pragma align.

Description

The alignment value for #pragma align must be a valid number (for example, 1, 2, 4, 8, 16, and so on).

Severity Error

Recovery

The compiler reports the error and continues to check syntax and semantics

Example #pragma align 5

int x;

How to Fix

Correct the alignment value.

Related Information See also the section about data alignment pragmas in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

cc1151 Compiler Error: number of new memory banks exceeded

Description

This error is raised if more than seven memory banks (in addition to "__code", "__data", and "__stack") are used in one source file.

Severity Error

Recovery The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma data_bank(one) void func1(); #pragma data_bank(two) void func2(); #pragma data_bank(three) void func3(); #pragma data_bank(four) void func4(); #pragma data_bank(five) void func5(); #pragma data_bank(six) void func6(); #pragma stack_bank(seven) void func7();

312

Page 313: Compiler Error Messages

#pragma code_bank(eight) void func8();

How to Fix Reduce the number of memory banks that are used.

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1197 Compiler Warning: operator new and operator delete cannot be given internal linkage.

Description

Operators new and delete must be specified as externally visible functions.

Severity

Warning

Recovery The compiler issues the warning and compilation continues.

Example #include <stdlib.h>

static void * operator new(size_t x);

How to Fix

Remove the static storage class.

Related Information

ISO/IEC 14882:1998 "Programming Languages - C++" (3.7.3)

cc1200 Compiler Error: abstract class type "X" is not allowed as catch type: function "X::f" is a pure virtual function.

Description A catch type cannot be an abstract class type.

Severity Error

Recovery The compiler reports the error and continues to check syntax and semantics.

Example class X{

virtual void f()=0;

};

class Y:public X{

void f();

};

void func()

{

Y obj;

313

Page 314: Compiler Error Messages

try{

throw obj;

}

catch (X v)

{

}

}

How to Fix

At the catch statement, catch a non-abstract class type.

Related Information ISO/IEC 14882:1998 "Programming Languages - C++" (15.3)

cc1208 Compiler Error: expected "class".

Description

In a template template argument, the class keyword is expected.

Severity Error

Recovery The compiler reports the error and continues to check syntax and semantics.

Example template<template<class U> X>class C{

X<int> y;

};

How to Fix

Add class keyword to the template template argument. Modified line: template<template<class U> class X>class C{

Related Information

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3.3)

cc1209 Compiler Error: the "class" keyword must be used when declaring a template template parameter.

Description

In a template template argument, the class keyword is expected.

Severity Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example template<template<class U> struct X>class C{

X<int> y;

};

314

Page 315: Compiler Error Messages

How to Fix

Add the class keyword to the template template argument, as shown below. Modified line: template<template<class U> class X>class C{

Related Information

ISO/IEC 14882:1998 "Programming Languages - C++" (14.3.3)

cc1211 Compiler Error: a qualified name is not allowed for a friend declaration that is a function definition.

Description

A function definition in a friend declaration involving a namespace-qualified name in the declarator is not allowed.

Severity

Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example namespace NS{

void func(int);

};

class X{

public:

friend void NS::func(int a)

{

return;

}

};

How to Fix

Declare the function outside the class.

Related Information

ISO/IEC 14882:1998 "Programming Languages - C++" (11.4)

cc1213 Compiler Error: a storage class may not be specified here.

Description

A storage class should be specified only for an object or function definition.

Severity

Warning in C mode

Discretionary error in C++ mode.

Recovery

If a warning is issued, compilation continues. If an error is reported, the compiler continues to check syntax and semantics

Example static struct X{

315

Page 316: Compiler Error Messages

int a;

};

How to Fix Remove the storage class from the declaration.

Related Information ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc1219 Compiler Error: a template template parameter cannot have the same name as one of its template parameters.

Description

In a template template argument the argument name should not be the same as the template parameter.

Severity

Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example template<template<class U> class U>class C{

X<int> y;

};

How to Fix

Change the name of template template argument.

Related Information ISO/IEC 14882:1998 "Programming Languages - C++" (14.3.3)

cc1230 Compiler Error: loop in sequence of "operator->" functions starting at class "X".

Description

Overload operator "->" results in recursion during overload resolution.

Severity

Error

Recovery

The compiler reports the error and continues to check syntax and semantics.

Example class Y;

class X{

public:

Y operator ->();

};

316

Page 317: Compiler Error Messages

class Y{

public:

X operator ->();

};

X obj;

void func()

{

obj->m = 2;

}

How to Fix

Make sure the result of overloaded operator "->" does not result in a class that itself has an overloaded operator "->" that can indirectly result in the original class type.

Related Information ISO/IEC 14882:1998 "Programming Languages - C++" (13.5.6)

cc1319 Compiler Error: the "transparent_union" attribute only applies to unions, and "struct tag" is not a union.

Description

The attribute transparent union can be applied only to a union type declaration.

Severity Error

Recovery The compiler issues the error and compilation continues.

Example struct X{

int a;

int *b;

} __attribute__((transparent_union));

How to Fix

Remove the attribute or change the type declaration to a union.

Related Information

See also the section about attributes in the VisualDSP++ Compiler and Library Manual for your processor.

cc1327 Compiler Error: the second constant in a case range must be larger than the first.

Description

Case ranges must range from low to high.

Severity

Error

Recovery

317

Page 318: Compiler Error Messages

The compiler issues the error and compilation continues.

Example switch (i)

{

case 0 ... 9:

fprintf(stderr,"below 10\n");

break;

case 19 ... 13:

fprintf(stderr,"in teens\n");

break;

default:

fprintf(stderr,"The default\n");

}

How to Fix

Change the upper value to be greater than lower value.

Related Information

See also the section about GNU extensions in the VisualDSP++ Compiler and Library Manual for your processor.

cc1343 Compiler Error: register "x" has a fixed purpose and may not be clobbered in an asm statement

Description

The compiler will emit this error if a register that may not be clobbered is specified in the clobber set of an asm statement. This error applies only to Blackfin processors.

Specifying the registers 'SP' or 'FP' in a clobber set of an asm statement will cause this error.

Severity

Error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example The following file is compiled for Blackfin. void func(){ asm(“”: : :”SP”); }

fails with error: "t.c", line 2: cc1343: error: register "SP" has a fixed purpose and may not be clobbered in an asm statement

How to Fix

Remove the problem register from the clobber set of the asm statement.

cc1427 Compiler Error: expected identifier name for declspec(vcseifce.

Description

318

Page 319: Compiler Error Messages

For VCSE the compiler allows a new declspec to specify an interface name.

Severity Error

Recovery The compiler issues the error and compilation continues.

Example struct __declspec(vcseifce(::)) fred{

int x;

}

How to Fix

Specify the identifier inside the vcseifce parentheses.

Related Information

See also the section about VCSE in the VisualDSP++ Compiler and Library Manual for your processor.

cc1428 Compiler Error: expected number after "," for declspec(vcsetable.

Description For VCSE the compiler allows a new declspec to specify a vcse table name and the number of entries in the table.

Severity Error

Recovery The compiler issues the error and compilation continues.

Example struct __declspec(vcsetable((newtab,n))) fred{

How to Fix

Specify the number of entries as a constant literal.

Related Information See also the section about VCSE in the VisualDSP++ Compiler and Library Manual for your processor.

cc1468 Compiler error: invalid action for #pragma diag

Description

The action specified for #pragma diag() must be one of pop, push, error, errors, remark, remarks, restore, warning, warnings, or suppress.

Severity Error

Recovery The compiler ignores the rest of the directive.

Example

The code fragment

319

Page 320: Compiler Error Messages

#pragma diag(unknown)

gives the error message: cc1468: error: invalid action for #pragma diag

How to Fix

Change the action to one that is recognized by the pragma.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1469 Compiler error: the #pragma diag(push) for this directive is missing

Description

More #pragma diag(pop) directives have been encountered than corresponding #pragma diag(push) directives.

Severity

Error

Recovery

The compiler ignores the entire directive.

Example

The code fragment #pragma diag(push) #pragma diag(pop) #pragma diag(pop)

gives the error message cc1469: error: the #pragma diag(push) for this directive is missing

How to Fix

Remove the offending #pragma diag(pop) directive or add the corresponding #pragma diag(push) directive at the required location.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1471 Compiler error: missing error number/tag for #pragma diag

Description

A #pragma diag directive has a missing error number in its error number list. The error, remark, restore, warning, and suppress actions require a comma-separated list of error numbers as arguments.

Severity Error

Recovery The compiler skips to the next comma or closing parenthesis.

Example The code fragment #pragma diag(warning)

gives the error message

320

Page 321: Compiler Error Messages

cc1471: error: missing error number/tag for #pragma diag

How to Fix Add an error number after the action or remove the entire directive.

Related Information

VisualDSP++ C/C++ Compiler and Library Manual

cc1475 Compiler error: #pragma regs_clobbered can only be used with a function prototype or a function declaration

Description

A #pragma regs_clobbered directive was declared for an illegal target. The pragma can only be used for function prototypes and definitions. Use with pointer to functions is not supported.

Severity Error

Recovery The compiler skips to the next statement.

Example

The code fragment #pragma regs_clobbered "R3 R4 R5" void (*aFuncPtr) ();

gives the error message cc1475: #pragma regs_clobbered can only be used with a function prototype or a function declaration

How to Fix

Remove the regs_clobbered statement from the declaration.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1476 Compiler error: Cannot take address of function declared with user defined clobber set

Description

The program attempted to take the address of a function that is declared with #pragma regs_clobbered. This is unsupported, as the function pointer does not retain the custom clobber set information.

Severity

Error

Recovery

The compiler skips to the next statement.

Example

The code fragment #pragma regs_clobbered "R3 R4 R5" void aFunc(); void (*aFuncPtr) ();

321

Page 322: Compiler Error Messages

void someFunc() { aFuncPtr = aFunc; }

gives the error message cc1476: Error: Cannot take address of function declared with user defined clobber set

How to Fix

Remove the regs_clobbered statement from the function prototype or definition to take its address.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1477 Compiler fatal error: system register must be a literal constant

Description The compiler has identified a system register access (using a compiler intrinsic) where the system register to be used in the access is not a compile-time literal constant. In this case, the compiler does not know which register to use in the transfer, and must halt compilation.

Severity Fatal

Recovery None possible.

Example int foo (int r) { return __builtin_sysreg_read (r); }

causes an error similar to the following: "sysreg.c", line 2 (col. 3): cc1477: fatal error: system register must be a literal constant 1 catastrophic error detected in the compilation of "sysreg.c". Compilation terminated.

How to Fix

Modify the use of the intrinsic so that the compiler knows at compile-time which system register is being accessed.

cc1478 Compiler fatal error: bad system register or system register not known

Description An unknown or incorrect system register has been used in a compiler sysreg intrinsic. The compilation cannot be recovered safely.

Severity

Fatal

Recovery None possible.

Example

322

Page 323: Compiler Error Messages

int foo (void) { return __builtin_sysreg_read (12345678); }

causes an error similar to the following: "sysreg.c", line 2 (col. 3): cc1478: fatal error: bad system register or system register not known 1 catastrophic error detected in the compilation of "sysreg.c". Compilation terminated.

How to Fix

Ensure that the sysreg intrinsic uses a system register that the compiler knows about. System registers are defined in the sysreg.h header file.

cc1479 Compiler fatal error: bad size for system register access

Description

The compiler has encountered use of a sysreg intrinsic where the size implied by the intrinsic used does not match the size of the system register being accessed.

Severity

Fatal

Recovery

None possible.

Example #include <sysreg.h> int foo (void) { return __builtin_sysreg_read2 (reg_R0); }

causes an error similar to the following: "sysreg.c", line 2 (col. 3): cc1479: fatal error: bad size for system register access 1 catastrophic error detected in the compilation of "sysreg.c". Compilation terminated.

How to Fix Use the intrinsic that corresponds to the size of the register being accessed.

cc1480 Compiler fatal error: interrupt routines can not return a result

Description

The compiler has detected that #pragma interrupt has been used with a routine that returns a result.

Severity

Fatal

Recovery None possible.

Example #pragma interrupt int foo (void) { return 123; }

323

Page 324: Compiler Error Messages

causes an error similar to the following: "sysreg.c", line 2 (col. 3): cc1480: fatal error: interrupt routines can not return a result 1 catastrophic error detected in the compilation of "sysreg.c". Compilation terminated.

How to Fix

Modify the interrupt service routine so that it does not return a value.

cc1481 Compiler fatal error: stack frame for this interrupt routine is too large

Description

The interrupt service routine being compiled requires a stack frame that is too large.

For Blackfin processors, the stack frame is limited to 131 Kbytes. If this limit is reached, the compiler will generate this error.

Severity

Fatal

Recovery

None possible.

Example None

How to Fix Modify the interrupt service routine so that less stack space is used.

cc1483 Compiler error: identifier expected as argument to #pragma separate_mem_segments

Description

Pragma separate_mem_segments takes two arguments, which are C or C++ identifiers. If it is passed an invalid argument, this error is issued.

Severity Error

Recovery

Pass in valid C or C++ identifiers as arguments.

Example Int buff1[10]; Int buff2[10]; #pragma separate_mem_segments(buff1,5)

How to Fix

Replace argument with a valid identifier. In the above example, replace 5 with buff2.

cc1484 Compiler error: identifier "name" should be externally visible

Description

The names of identifiers referred to by #pragma separate_mem_segments should be

324

Page 325: Compiler Error Messages

external variables in C and C++.

Severity Error

Recovery Pass in valid C or C++ identifiers as arguments.

Example int buff1[10]; void f() { int buff2[10]; #pragma separate_mem_segments(buff1,buff2) }

How to Fix

Array buff2 is declared local to a function. Change the second argument to be an externally visible variable.

cc1485 Compiler error: missing section qualifier.

Description

The section and default_section pragmas issue this error when a comma appears directly after the section name and no qualifiers are specified.

Severity

Error

Recovery

The compiler will skip forward to the next comma or closing parenthesis.

Example #pragma section(_dummy_,)

How to Fix Remove the trailing comma or add an appropriate section qualifier keyword.

cc1486 Compiler error: invalid section qualifier.

Description

The section and default_section pragmas issue this error if an invalid section qualifier keyword is specified.

Severity

Error

Recovery The compiler will skip forward to the next comma or closing parenthesis.

Example #pragma section(_dummy_, NOT_A_QUALIFIER)

How to Fix

Correct the section qualifier.

325

Page 326: Compiler Error Messages

cc1487 Compiler error: invalid section kind.

Description

The default_section pragma issues this error if an invalid section kind keyword is specified.

Severity Error

Recovery

The compiler will ignore the effect of the default_section pragma but will still parse for further errors.

Example #pragma default_section(NOT_A_KIND, _dummy_)

How to Fix

Correct the section kind.

cc1488 Compiler error: section was previously declared with x qualifier.

Description

The section and default_section pragmas issue this error if two conflicting qualifiers appear in the section qualifier list of a single pragma.

Severity Error

Recovery The compiler will ignore the second conflicting qualifier.

Example #pragma section(_dummy_, ZERO_INIT, RUNTIME_INIT)

How to Fix

Choose one of the conflicting section qualifiers, but not both.

cc1489 Compiler error: section was previously declared with different qualifiers.

Description

The section and default_section pragmas issue this error if a section was declared with different qualifiers in two different pragmas.

Severity

Error

Recovery

The compiler will ignore the qualifiers specified in the second pragma.

Example #pragma section(_dummy_, ZERO_INIT, RUNTIME_INIT) #pragma section(_dummy_, PM)

How to Fix Ensure that the section qualifiers are consistent throughout the program.

326

Page 327: Compiler Error Messages

cc1490 Compiler error: x was previously declared to be in section y.

Description

The section pragma issues this error if a function or variable was previously declared to be in a different section from that specified in the current pragma.

Severity Error

Recovery

The compiler will ignore the section specified in the second pragma.

Example #pragma section(_dummy_) int a; #pragma section(_crummy_) int a;

How to Fix

Ensure that the section qualifiers are consistent for declarations.

cc1491 Compiler Error: invalid memory bank pragma

Description

This error is raised if a memory bank pragma is applied to a statement other than a function declaration.

Severity Error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma data_bank(mydatabank) int x;

How to Fix

To prevent the warning being issued, only insert the pragma before a function declaration. To specify a non-local variable's data bank, use the bank qualifier. For example: int bank(“blue”) x; #pragma data_bank(green) void func() { /* Some code */ }

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1492 Compiler Error: invalid bank name for memory bank

Description

327

Page 328: Compiler Error Messages

This error is raised for a memory bank pragma which does not have a valid bank name.

Severity

Error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma data_bank() void func();

How to Fix

Specify a valid bank name as follows: #pragma data_bank(mydatabank) void func();

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1493 Compiler Error: invalid attribute for memory bank

Description

This error is raised when an invalid attribute is given in a memory bank pragma which allows an attribute to be specified.

Severity Error

Recovery The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example In this example, an invalid number of read cycles has been specified for data bank "blue". #pragma bank_read_cycles(blue, 0)

How to Fix

Specify a valid attribute, as described in the VisualDSP++ C/C++ Compiler and Library Manual for the target processor. For example: #pragma bank_read_cycles(blue, 10)

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1494 Compiler Error: memory bank attribute missing

Description This error is raised when no attribute is present in a memory bank pragma which allows a memory bank attribute to be specified.

Severity

328

Page 329: Compiler Error Messages

Error

Recovery The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma bank_read_cycles(blue, )

How to Fix Specify a valid attribute, as described in the VisualDSP++ C/C++ Compiler and Library Manual for the target processor. For example: #pragma bank_read_cycles(blue, 10)

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1495 Compiler Error: incompatible redefinition of memory bank attribute

Description

This error is issued if a memory bank attribute is subsequently re-defined with a different attribute value.

Severity Error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma bank_read_cycles(blue, 10) /* Some code */ #pragma bank_read_cycles(blue, 20)

How to Fix

Remove incompatible re-definitions of the memory bank attribute.

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1496 Compiler Error: incompatible redefinition of memory bank

Description

This error is issued if a function declaration is preceded by a memory bank pragma, and a subsequent declaration of the same function has an incompatible memory bank pragma.

Severity

Error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example

329

Page 330: Compiler Error Messages

#pragma data_bank(blue) void func(int x); #pragma data_bank(green) void func(int x) { /* Some code */ }

How to Fix

Remove incompatible re-definitions of the memory bank attribute.

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1634 Compiler fatal error: stack frame for this routine is too large

Description

The routine being compiled requires a stack frame that is too large.

Severity Fatal

Recovery None possible.

Example None

How to Fix Modify the routine so that less stack space is used.

cc1643 Compiler Error: Inlining pragmas are only valid on function definitions

Description This error is raised if an inlining pragma is applied to a declaration other than a function definition.

Severity

Error

Recovery The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma always_inline int x; inline void func_a() { x++; }

How to Fix

Apply the pragma to function definitions only. For example: int x; #pragma always_inline

330

Page 331: Compiler Error Messages

inline void func_a() { x++; }

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1647 Compiler Error: #pragma always_inline invalid on interrupt functions

Description

This warning is issued if #pragma always_inline is applied to an interrupt handler function declaration. Due to the nature of an interrupt service function, it cannot be inlined.

Severity

Fatal error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma always_inline #pragma interrupt inline int myisr(int a, int b, int c);

How to Fix

Remove the use of #pragma always_inline from the interrupt function declaration.

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1648 Compiler Error: conflicting inline pragmas

Description

This error is issued if both #pragma always_inline and #pragma never_inline are applied to a function declaration, since the two pragmas have conflicting meanings.

Severity Fatal error

Recovery The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma always_inline #pragma never_inline inline int func();

How to Fix Remove one of the conflicting pragmas.

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

331

Page 332: Compiler Error Messages

cc1649 Compiler Error: #pragma always_inline only valid on 'inline' functions

Description

This error is raised if #pragma always_inline has been applied to a function which is not declared with the 'inline' keyword.

Severity Fatal error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma always_inline int func();

How to Fix

Remove the #pragma always_inline, or add the 'inline' keyword. For example: #pragma always_inline inline int func();

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1652 Compiler Error: function f has variable number of params - #pragma always_inline invalid

Description

The compiler cannot inline a function which accepts a variable number of parameters, so use of #pragma always_inline on such a function is invalid.

Severity

Error

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example #pragma always_inline inline func_va(int a, ...) { /* Some code */ } void func(){ func_va(1,2,3,4); }

How to Fix

Remove the #pragma always_inline.

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1668

332

Page 333: Compiler Error Messages

Compiler Error: input operand matched to input-output operand in gnu asm

Description This error is raised if an input operand's constraint is the position number of an input-output operand.

Severity

Fatal error

Recovery

None possible

Examples

Blackfin Processors int func(int a, int b, int c, int d, int e, int f, int g, int h, int i) { int z; asm("NOP; /* do something */" : "=d"(z) : "d"(a),"d"(b),"d"(c),"d"(d),"d"(e),"d"(f), "d"(g),"d"(h),"d"(i) : ); return z; }

SHARC Processors int func(int a, int b, int c, int d, int e) { int z; asm("NOP; /* do something */" : "=d"(z) : "k"(a),"k"(b),"k"(c),"k"(d),"k"(e) : ); return z; }

TigerSHARC Processors int func(int a, int b, int c, int d, int e) { int z; asm("NOP; /* do something */" : "=k"(z) : "k"(a),"k"(b),"k"(c),"k"(d),"k"(e) : "k0-k29" ); return z; }

How to fix

Re-arrange the asm construct so that it does not require more than the available number of registers in a given class.

cc1732 Compiler Error: core pragma contains unexpected character

Description

The core pragma must specify a core name that consists only of alphanumeric characters. This error indicates that a non-alphanumeric character has been used in specifying the name of the core.

Severity Error

Recovery The compiler will continue to parse the translation unit and show any subsequent

333

Page 334: Compiler Error Messages

errors but will then exit without producing an output file.

Example Compiling the following file: #pragma core("core-A") int foo(void) { return 0; }

fails with this error: "foo.c", line 1: cc1732: error: core pragma contains unexpected character

How to Fix Use core names that include only alphanumeric characters.

Related Information Refer to your processor's VisualDSP++ C/C++ Compiler and Library Manual

cc1733 Compiler Error: symbol "zzz" is expected to have pragma core specified on all definitions and declarations that are not part of a library.

Description

A symbol has been defined more than once in a multicore project, and at least one definition (or declaration) of that symbol has been specified (outside a library) without using #pragma core.

Severity Fatal

Recovery None

Example

Not using #pragma core on one of the definitions of main in a multicore project will result in the following message from the IPA framework: cc1733: symbol _main is expected to have pragma core specified on all definitions and declarations

How to Fix

Ensure that the correct #pragma core is specified before each definition or declaration of the named symbol.

Related Information

Refer to your processor's VisualDSP++ C/C++ Compiler and Library Manual

cc1742 Compiler Error: A list of parameter names separated with spaces must be specified for #pragma param_never_null

Description

#pragma param_never_null must specify one or more parameter names separated by spaces. Using any other separator will result in this error.

Severity

Error

Recovery

334

Page 335: Compiler Error Messages

Compiler reports error and continues looking for other errors. Executable not created.

Example #pragma param_never_null aa,bb // Error - replace comma with space void func(C *aa, C *bb) { }

How to Fix

Replace other separators with space characters.

cc1743 Compiler Error: Illegal parameter name ID specified for #pragma param_never_null

Description The identifiers specified in the pragma must match the identifiers in the following function definition.

Severity

Error

Recovery Compiler reports error and continues looking for other errors. Executable not created.

Example #pragma param_never_null a bb // Error - identifier a should be aa void func(C *aa, C *bb) { }

How to Fix Correct the spelling of the identifier.

cc1744 Compiler Error: #pragma suppress_null_check should be placed before a pointer assignment or variable declaration

Description

The pragma must be placed before a declaration or declaration list to indicate that those variables are never null pointers, or before an assignment of two class pointers where the pointers will never be null. If used before an assignment of a null pointer, the behavior is undefined.

Severity Error

Recovery Compiler reports error and continues with the compilation to find more errors.

Example #pragma param_never_null a bb void func(int *aa, int *bb) { #pragma suppress_null_check // incorrect usage. if (aa == NULL);

335

Page 336: Compiler Error Messages

}

How to Fix Remove pragma or place it before an assignment or declaration list.

cc1747 Compiler Error: check-init-order option can be used only when compiling C++

Description

The command line switch -check-init-order is only valid when the -c++ switch is specified.

Severity

Error

Recovery

Compilation abandoned

Example ccblkfn -check-init-order -BF533 a.c

How to Fix Remove the switch if the file to be compiled is not a C++ source program; otherwise specify the -c++ switch.

cc1748 Compiler Error: implicit-pointers option can not be used when compiling C++

Description

The -implicit-pointers command-line switch is not valid when compiling in C++ mode (i.e., when -c++ is also supplied on the command line.

Severity Fatal

Recovery None

Examples Blackfin Processors ccblkfn -O -c++ -implicit-pointers foo.c

SHARC Processors cc21k -O -c++ -implicit-pointers foo.c

TigerSHARC Processors ccts -O -c++ -implicit-pointers foo.c

Produces: cc1748: Command-line error: implicit-pointers option can not be used when compiling C++ 1 catastrophic error detected in this compilation. Compilation terminated. cc3089: fatal error: Compilation failed

How to Fix

Remove the -implicit-pointers command-line switch from the command line.

336

Page 337: Compiler Error Messages

Related Information

Refer to your processor's VisualDSP++ C/C++ Compiler and Library Manual.

cc3089 User Interface Driver Error: fatal error: build stage failed

Description This error is raised by the user interface driver (ccblkfn.exe for Blackfin processors, cc21k.exe for SHARC processors, or ccts.exe for TigerSHARC processors) when the tool invoked to perform a particular stage (build stage) of the build process failed with an error. More detailed information as to the cause of the error will be provided in the error message produced by the tool which reported the error.

Severity

Fatal error

Recovery

None possible

Examples

Compiling a file containing a syntax error results in the compiler raising an error (cc0065 in the example below). The user interface driver itself raises error cc3089 as an indication the overall build has failed.

Blackfin Processors ccblkfn x.c

SHARC Processors cc21k x.c

TigerSHARC Processors ccts x.c

Produces "x.c", line 6: cc0065: error: expected a ";" } ^ 1 error detected in the compilation of "x.c". cc3089: fatal error: Compilation failed

How to fix

Examine the details of the error reported by the tool which caused the build to fail, and resolve that error.

cc3150 Driver Error: Option x conflicts with option y

Description Attempt to invoke the driver with two options that are incompatible.

Severity Error

Recovery

The driver issues the error. It then continues to check the flags passed to it, displaying any other errors or warnings it comes across. The driver then exits without invoking any compilation.

Example

337

Page 338: Compiler Error Messages

cc21k -21020 -c++ test.cpp

fails with error: cc3150: {D} error: Option -c++ conflicts with option -21020

How to Fix

Remove one of the conflicting options.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

Compiler Remarks

cc1123 Compiler Remark: comparison of unsigned type with signed type

Description

Comparing signed and unsigned types may lead to an unintended result.

Severity

Remark, only when the -Wremarks command line option is used

Recovery

The compiler issues the remark and compilation continues.

Example signed x;

unsigned y;

void func2()

{

if (x>y)

x=-1;

}

How to fix

Use a cast, or if the code is intentional, ignore the remark.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (15)

cc1472 Compiler remark: beginning compilation of function x

Description

The compiler is informing the user that it has begun compilation of the named function. By default, this remark is not produced. To produce this remark when compiling, use the options: -Wremarks -Wremark 1472

Severity

Remark

Recovery

None necessary.

338

Page 339: Compiler Error Messages

Example

As an example, the compiler will issue a remark similar to the following when beginning to compile the function main: "test4.c", line 3 (col. 5): cc1472: {D} remark: beginning compilation of function main

How to Fix No fix is required. The remark is purely to inform the user of the compilation progress.

Related Information

VisualDSP++ C/C++ Compiler and Library Manual

cc1473 Compiler remark: beginning generic optimization pass x of y

Description

The compiler is informing the user that it has begun the non-machine-specific optimization pass specified. By default, this remark is not produced.

To produce this remark when compiling, use the options: -Wremarks -Wremark 1473

When doing so, it is advisable to enable the remarks for machine-specific optimization passes as well (see cc1474). This remark produce output only when optimization has been enabled.

Severity Remark

Recovery

None necessary.

Example

As an example, the compiler will issue a remark similar to the following when starting each new generic optimization pass: "test4.c", line 3 (col. 5): cc1473: {D} remark: beginning generic optimization pass 4 of 74

How to Fix No fix is required. The remark is purely to inform the user of the compilation progress.

Related Information

VisualDSP++ C/C++ Compiler and Library Manual

cc1474 Compiler remark: beginning machine optimization pass x of y

Description

The compiler is informing the user that it has begun the machine-specific optimization pass specified. By default, this remark is not produced. To produce this remark when compiling, use the options: -Wremarks -Wremark 1474

When doing so, it is advisable to enable the remarks for generic optimization passes as well (see cc1473). This remark produces output only when optimization has been

339

Page 340: Compiler Error Messages

enabled.

Severity Remark

Recovery None necessary.

Example As an example, the compiler will issue a remark similar to the following when starting each new machine-specific optimization pass: "test4.c", line 3 (col. 5): cc1474: {D} remark: beginning machine optimization pass 48 of 54

How to Fix

No fix is required. The remark is purely to inform the user of the compilation progress.

Related Information

VisualDSP++ C/C++ Compiler and Library Manual

cc1736 Compiler Remark: an inline asm statement with a memory clobber is being used: try to avoid this as it will degrade optimization potential

Description

The compiler is commenting that an inline asm statement is being used, which has memory specified in the clobber list. This can be counterproductive to optimization. Replacing the asm statement with one that does not clobber memory by using the normal inline asm outputs is preferable because the side-effects are less restrictive. This is particularly important with inter-procedural analysis (IPA). If IPA were to assume that an inline asm statement with a memory-clobber writes to all globals, then including one such statement in a program would mean the value of any global could not be determined (IPA is not flow-sensitive) and this would negate much of the potential benefit that IPA provides. For this reason, the compiler does not make this assumption. If the compiler encounters an inline asm statement with a memory-clobber when IPA is enabled, it will generate a warning instead of this remark because the results may be unexpected. See cc1737.

Severity Remark

Recovery

The compiler issues the remark when the -Wremarks switch is specified. It then continues the compilation of the translation unit.

Examples

The file foo.c contains the following function with an inline asm statement:

Blackfin Processors int glob; void foo(void) { asm volatile("p0.h = 0x9009; p0.l = 0x8008; \n" "p5.l = _glob; p5.h = _glob; \n" "[p5] = p0; \n"

340

Page 341: Compiler Error Messages

: /*O*/ : /*I*/ : /*C*/ "p0", "p5", "memory" ); } int main(void) { foo(); }

Invoking the compiler: ccblkfn -O foo.c -Wremarks

SHARC Processors int glob; void foo(void) { asm volatile("r1 = 0x90098008; \n" "I1 = _glob; \n" "DM(0,I1) =r1; \n" : /*O*/ : /*I*/ : /*C*/ "r1", "I1", "memory" ); } int main(void) { foo(); }

Invoking the compiler: cc21k -O foo.c -Wremarks

TigerSHARC Processors int glob; void foo(void) { asm volatile("k30 = 0x90098008;; \n" "[j31 + _glob] = k30;; \n" : /*O*/ : /*I*/ : /*C*/ "k30", "memory" ); } int main(void) { foo(); }

Invoking the compiler: ccts -O foo.c -Wremarks

Produces: "foo.c", line 43 (col. 4): cc1736: {D} remark: an inline asm statement with a memory clobber is being used: try to avoid this as it will degrade optimization potential

It is better practice to produce the value in the asm statement as an output, and write the global variable in a C statement. This means that the write to the global variable is not hidden from the compiler. For example:

Blackfin Processors int glob; void foo(void) {

341

Page 342: Compiler Error Messages

asm volatile("%0.h = 0x9009; %0.l = 0x8008; \n" : "=d" (glob) /*o*/ : /*I*/ : /*C*/ ); } int main(void) { foo(); }

SHARC Processors int glob; void foo(void) { asm volatile("%0 = 0x90098008; \n" : "=r" (glob) /*O*/ : /*I*/ : /*C*/ ); } int main(void) { foo(); }

TigerSHARC Processors int glob; void foo(void) { asm volatile("%0 = 0x90098008;; \n" ": "=k" (glob) /*O*/ : /*I*/ : /*C*/ ); } int main(void) { foo(); }

This is just an illustrative example. In this particular case, it would be preferable to write the constant directly to the global entirely in C. However, the principle is the same for examples where the value to be stored in the global has to be calculated by the inline asm statement.

How to Fix

Replace the inline asm with one which does not require a memory clobber.

Related Information Refer to "Inline Assembly Language Support Keyword (asm)" in your processor's VisualDSP++ C/C++ Compiler and Library Manual.

Compiler Warnings

cc0009 Compiler Warning: nested comment is not allowed

Description A comment appears inside another comment. This error applies only to C-style

342

Page 343: Compiler Error Messages

comments and not to C++-style comments (which apply until the end of a line).

Severity Warning

Recovery The compiler automatically closes the previous comment and opens a new comment.

Example /* start of outer comment /* inner comment */ end of outer comment */

How to Fix

Close the outer comment before the inner comment begins, and restart the outer comment when the inner comment ends.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" (6.1.9)

ISO/IEC 14882:1998 "Programming Languages - C++" (2.7)

cc0011 Compiler Warning: unrecognized preprocessing directive

Description

An unrecognized preprocessing directive has been encountered.

Severity

Warning

Recovery The compiler issues a warning and then ignores the offending directive.

Example #I_am_not_valid

How to Fix

Ensure that the name used is a valid preprocessing directive. Check your documentation.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" (6.1.9)

ISO/IEC 14882:1998 "Programming Languages - C++" (13)

cc0012 Compiler Warning: parsing restarts here after previous syntax error

Description

Syntax errors can cause the parser to skip tokens after the error point. This diagnostic tells you the recovery position.

Severity Warning

Recovery

The compiler continues parsing after issuing the diagnostic.

Example

343

Page 344: Compiler Error Messages

If the code below is compiled in a C program, the end_of_flush diagnostic is issued at the end of the class declaration because C does not recognize classes. class Point { public: private: }; /* diagnostic issued after semi-colon */ void main(){}

How to Fix Correct the syntax error by referring to a C manual.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" (6.1.6)

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0021 Compiler Warning: type qualifiers are meaningless in this declaration

Description

Type qualifiers on void types do not have any use. On function types they are undefined.

Severity

Warning

Recovery

The compiler ignores the meaningless type qualifiers and continues.

Example typedef int F(); const F g;

How to Fix You can remove the useless qualifiers with this statement: *type_ptr = make_unqualified_type(*type_ptr);

These qualifiers are kept in case the back end assigns any meaning to them.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.3)

cc0039 Compiler Warning: division by zero

Description A division by zero has occurred.

Severity Warning

Recovery After the warning, compilation continues.

Example int i 5/0;

How to Fix

344

Page 345: Compiler Error Messages

Do not use division by zero.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5)

cc0047 Compiler Warning: incompatible redefinition of macro "entity" (declared at line xxxx)

Description The current redefinition of this macro is incompatible with one occurring earlier in the source file.

Severity

Warning

Recovery

The compiler keeps the new definition of the macro, and compilation continues.

Example #define MyMacro A #define MyMacro B int main() {}

How to Fix If the previous definition of the macro is not needed, take it out or make the definitions compatible. Also, you can use a new macro name.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.3.5)

cc0061 Compiler Warning: integer operation result is out of range

Description The value does not fit in the destination integer type. This error is suppressed for non-arithmetic constants in K&R mode.

Severity Warning

Recovery Compilation continues and the compiler returns the result after the overflow

Example #include <math.h> #define Imax 0X7FFFFFFF main() { long int i; i = Imax+1; }

How to Fix Use exception handling to handle the error.

345

Page 346: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.9.1, 5.7, 19.1.8)

cc0062 Compiler Warning: shift count is negative

Description

The shift count is negative.

Severity Warning

Recovery The compiler ignores the statement and compilation continues.

Example int main() { short Num = 0X7FFFFFFF; Num = Num << -0X7; }

How to Fix

Do not use negative shift count.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.8, 5.9)

cc0063 Compiler Warning: shift count is too large

Description The shift count is too large.

Severity Warning

Recovery The value of the variable becomes zero, and compilation continues.

Example int main() { int Num = 4; Num = Num >> 32; }

How to Fix

The largest shift count possible for the SHARC compiler is 31, which is one less than the size of long (32 bits).

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.8, 5.9)

346

Page 347: Compiler Error Messages

cc0064 Compiler Warning: declaration does not declare anything

Description

A declaration with no declarator defines a type but doesn't declare a name. Omissions of declarators with enum and class specifiers are allowed only when they actually declare something.

Severity

Warning

Recovery

The compiler ignores the declaration statement and continues.

Example struct { int i; };

How to Fix

Ensure that every declaration contains a declarator.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7, 8)

cc0068 Compiler Warning: integer conversion resulted in a change of sign

Description

The value assigned to an integer is larger that the largest value allowed for int.

Severity Warning

Recovery The compiler changes the sign of the variable and continues.

Example int main(void) { long l = 2147483648; }

How to Fix

Ensure that the value of the offending variable is kept within the limits for int (-2147483648 to 2147483647).

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0076 Compiler Warning: argument to the macro is empty

Description

The compiler generates a warning because of an empty macro argument, which is "undefined" behavior according to the standard. The compiler does not generate a diagnostic if the argument was ended because the source ended or because of a

347

Page 348: Compiler Error Messages

preprocessing directive. In strict ANSI mode, this undefined behavior is legal.

Severity Warning, in strict ANSI mode

Recovery The compiler treats the empty argument as equal to zero.

Example #define sum(i) i + 1 int main() {

int k = sum(); /* k is given the value of 1 */ }

How to Fix Using the correct number of arguments prevents ambiguity.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.3)

cc0082 Compiler Warning: storagec class is not first

Description The storage class is not the first specifier, (except for inline or friend) in a declaration.

Severity

Warning, in strict ANSI mode only

Recovery:

The compiler accepts the declaration of the storage class, and the compilation continues.

Example int auto i;

How to Fix

Make the storage class the first specifier in the offending declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.1)

cc0099 Compiler Warning: a declaration here must declare a parameter

Description

A freestanding declaration exists within an old-style parameter list. An old style parameter declaration introduces a named struct or enum type, but has no declarator for the parameter. This condition is allowed in ppc mode.

Severity

Warning

Recovery

348

Page 349: Compiler Error Messages

The compiler ignores the statement(s) and compilation continues.

Example void f(a) struct s {int b;}; struct s a; {}

How to Fix Restructure your program to be ANSI compliant.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7)

cc0108 Compiler Warning: signed bit field of length 1

Description

A signed bit field has only one bit.

Severity

Warning

Recovery After the warning, compilation continues.

Example struct { signed int i : 1; /* a signed bit field with a size of one */ /* compiler issues a warning */ int j : 2; } MyStr;

How to Fix Although ANSI C allows signed one-bit fields, the preference is for one-bit fields that are not signed.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (9.6)

cc0111 Compiler Warning: statement is unreachable

Description

The block in which a dynamic initialization is executed is unreachable, or the current location in the code is unreachable.

Severity Warning

Recovery After the warning, compilation continues.

Example #include<stdio.h> int main() {

349

Page 350: Compiler Error Messages

printf("Hello "); return 0; printf("World\n"); /* This statement is unreachable. */ }

How to Fix Change the source code at the appropriate place to ensure that the offending statement is executed. If the statement is not needed, remove it to clean up the program.

The code above should assume the following: #include<stdio.h> int main() { printf("Hello "); printf("World\n"); /* Now the statement is reached. */ return 0; }

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6)

cc0128 Compiler Warning: loop is not reachable from preceding code

Description

The current location in the code (the top of a loop) is unreachable. This message is different from the normal "statement is unreachable" message, because the bodies of loops can be reached via a branch from the bottom.

Severity Warning

Recovery After the warning, compilation continues.

Example int main() { int i = 0; return 0; /* program exits here */ while ( i <= 10 ){ /* This while loop is unreachable */ i++; } } How to Fix: Restructure your program to ensure that the unreachable code is processed, or remove the code if it is not needed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.5)

cc0138 Compiler Warning: taking the address of a register variable is not allowed

Description

350

Page 351: Compiler Error Messages

The program is trying to take the address of a register variable in C. This action is allowed in C++, and is allowed with a warning in C except in strict error mode.

Severity

Warning

Recovery

The compiler ignores the statement and compilation continues.

Example int main() { register int i = 2; int *ip; ip = &i; /* attempting to take the address of the register */ /* variable i. }

How to Fix

Take the offending statement out or change the definition of the variable to make it a non-register.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0161 Compiler Warning: unrecognized pragma

Description

A pragma is not being recognized.

Severity Warning

Recovery The compiler ignores the statement and compilation continues.

Example # Pragma AnyOldPragma /* as it is unlikely that "AnyOldPragma" would be defined, a warning is likely */

How to Fix

Use only pragma directives supported by this compiler.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (16.6)

See your documentation to find out what pragmas are supported by this compiler.

cc0173 Compiler Warning: floating-point value does not fit in required integral type

Description

The floating point value is too big to fit in the integer.

Severity

351

Page 352: Compiler Error Messages

Warning

Recovery The compiler truncates the value, and compilation continues.

Example This warning cannot be reproduced because in the SHARC compiler all integral types have the same length, 32 bits. If the char had 8 bits, the statement below would reproduce this warning: char a = 1233445.o;

How to Fix Ensure that the value being converted fits into the integer type. This correction does not apply to the SHARC compiler, as all integral types have 32 bits.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0175 Compiler Warning: subscript out of range

Description When subscripting an array with an integral constant, ensure that the subscript is within the array bounds.

Severity Warning

Recovery After the warning, compilation continues.

Example int main(){ char Phrase[] = "text"; char *p5 = &Phrase[10]; }

How to Fix

Ensure that the subscript used does not exceed its maximum possible length.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.1, 8.3.4)

cc0177 Compiler Error: entity-kind "entity" was declared but never referred to

Description A variable is not referred to or used or a parameter is not used.

Severity Warning

Recovery The compiler ignores the error, and compilation continues.

Example

352

Page 353: Compiler Error Messages

int main() { int i; int j = 10; }

How to Fix Ensure that the variable is used or remove it.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2)

cc0178 Compiler Warning: "&" applied to an array has no effect

Description

In pcc mode "&array" is the same as "array" implicitly converted to a pointer. Type "pointer-to-array-element" is applied rather than "pointer to array" as in ANSI.

Severity Warning

Recovery

After the warning, compilation continues.

Example

An example is any situation described above.

How to Fix

Remove the "&" at the appropriate place in the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0179 Compiler Warning: right operand of "%" is zero

Description A division or module by zero has taken place.

Severity

Warning

Recovery

After the warning, compilation continues. The result of the operation is zero.

Example int main() { int i = 5; int j = 5/0; }

How to Fix

Ensure that if the second operand of a division or module operation is zero, an exception can deal with the situation.

353

Page 354: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5)

cc0185 Compiler Warning: dynamic initialization in unreachable code

Description

The block in which the dynamic initialization is executed is unreachable.

Severity Warning

Recovery

If this warning appears when you are compiling a C file, the error "declaration may not appear after executable statement" will also appear. Therefore, this case is applicable only when you compile C++ source files.

If you are compiling a C++ source file, the compiler ignores the statement and compilation continues.

Example int main(){ return 0; int i = 5; /* code is unreachable */ }

How to Fix

Ensure that the offending code is reachable, or take the offending code out.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (3.6.2)

cc0186 Compiler Warning: pointless comparison of unsigned integer with zero

Description Comparison of an unsigned value with zero has been encountered. Some cases make sense.

Severity Warning

Recovery The compiler warns about the pointless comparison and ignores it.

Example int main(){ unsigned int Num = 10; if( Num < 0 ){ ; } }

How to Fix Four pointless cases are possible:

354

Page 355: Compiler Error Messages

u >= 0 (always true)

u < 0 (always false)

0 > u (always false)

0 <= u (always true)

A comparison that identifies with one of the above is pointless and should be removed.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.1)

cc0187 Compiler Warning: use of "=" where "==" may have been intended

Description

The compiler has encountered a "x = constant" statement, which was probably intended to be a "x == constant" statement.

Severity Warning

Recovery The expression probably has a bool (false or true) type or can be converted to bool. The compiler evaluates the expression to true, and compilation continues.

Example int main(){ int Num = 1; if ( Num = 1 ){ /* Warning appears here */ ; /* statements */ } }

How to Fix

Replace the offending "=" sign with "==" at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (6.4, 6.5, 6.6)

cc0188 Compiler Warning: enumerated type mixed with another type

Description

Assigning or passing a parameter of an enumeration of one type with a different enumeration type results in a warning.

Severity Warning, in C mode

Recovery

Compilation continues after the warning.

Example enum FIRST{ a,b};

355

Page 356: Compiler Error Messages

enum SECOND{ d,e};

enum FIRST fvar;

void func2(enum SECOND);

void func()

{

fvar = d;

func2(fvar);

}

How to fix

Use consistent enumeration types.

Related Information

See also ISO/IEC 9899:1990 "Programming Languages - C" ()

cc0191 Compiler Warning: type qualifier is meaningless on cast type

Description

The compiler has encountered casting to a qualified type. The statement is valid, but pointless.

Severity

Warning

Recovery

After the warning, compilation continues.

Example int main() { int Num = 1; int Num_c = (const)Num; }

How to Fix

The statement is pointless. Therefore, change the source to ensure that removing the statement will have no ill effect on the program.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.2.7, 5.2.9, 5.2.10)

cc0192 Compiler Warning: unrecognized character escape sequence

Description An unrecognized escape character has been encountered.

Severity Warning

Recovery The unrecognized escape generates a warning but translates to the escape character, and compilation continues.

Example

356

Page 357: Compiler Error Messages

printf("Test\q?\"");

How to Fix Replace the unrecognized escape character with a valid one at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (2.13.2)

cc0221 Compiler Warning: floating-point value does not fit in the required floating-point type

Description A floating-point type value is too big to fit in the required floating-point type.

Severity Warning

Recovery The compiler truncates the value and continues compilation.

Example int main() { /* The value below is too large to fit in a floating-point type */ float d = 99999999999999999999999999999999999999999999.0; }

How to Fix

Ensure that the value you are trying to fit into a floating-point type actually fits.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (4.8)

cc0222 Compiler Warning: floating-point operation result is out of range

Description

During compilation the compiler detected an overflow when it attempted an operation between two floating point types.

Severity Warning

Recovery

After the warning, compilation continues.

Example double d1 = 1e300*1e300;

How to Fix Provide an exception to deal with an overflow, or ensure that the result of such an operation will fit into the required type.

Related Information

357

Page 358: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (4.8)

cc0228 Compiler Warning: trailing comma is nonstandard

Description The compiler has encountered a trailing extra comma at the end of an enumeration declaration list. A trailing extra comma is allowed only as an extension with a strict ANSI diagnostic.

Severity

Warning

Recovery

The compiler removes the extra comma, and compilation continues.

Example enum e { e1, e2, };

How to Fix Remove the offending extra comma.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.2)

cc0230 Compiler Error: nonstandard type for a bit field

Description

This diagnostic applies only to C and not C++. The compiler has encountered a non-standard integral or enum base type ( anything other than int, unsigned int, and signed int).

Severity Warning, in strict ANSI mode only

Recovery After the warning, compilation continues.

Example struct{ char a : 1; } MyStr; int main(){}

How to Fix

Change the offending base type to int, unsigned int, and signed int at the appropriate place in the source.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0231

358

Page 359: Compiler Error Messages

Compiler Warning: declaration is not visible outside of function

Description The compiler has encountered a type declaration that is not visible outside the function declaration.

Severity

Warning

Recovery

After the warning, compilation continues.

Example int foo( struct s a ); struct s { int b; };

int main(){} /* The first "struct s" is a different type than the second, which is probably not what was wanted. */

How to Fix Follow the rule that in C-mode a type declared in a parameter declaration is local to the function.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0232 Compiler Warning: old-fashioned typedef of "void" ignored

Description This error applies only for ppc mode, and appears only in old pre-void-keyword mode as something like: typedef <something> void;

Severity

Warning

Recovery In ppc mode the compiler ignores this error.

Example typedef int void;

How to Fix

In the appropriate place(s) in the source code, replace "void" with something that is not an ANSI keyword.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0233 Compiler Warning: left operand is not a struct or union containing this field

Description

This diagnostic only applies to ppc mode. The compiler has encountered a situation where the left operand of a "." operator is not a structure or a union type.

359

Page 360: Compiler Error Messages

Severity

Warning

Recovery

In ppc mode the compiler ignores the statement.

Example struct{ int i; }MyStr; int main(){ int Str; Str.i; }

How to Fix

Ensure that the offending left operand is a structure or union.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0234 Compiler Warning: pointer does not point to a struct or union containing this field

Description

This diagnostic applies only to ppc mode. The compiler has encountered a situation where the left operand of a "->" operator is not a structure or a union type.

Severity

Warning

Recovery

In ppc mode the compiler ignores the statement.

Example struct{ int i; }MyStr; int main(){ int pStr; pStr->i; }

How to Fix

Ensure the offending left operand is a structure or union.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0260 Compiler Warning: explicit type is missing ("int" assumed)

Description No type was explicitly specified for the current declaration. This is C-specific. A different error exists for C++ mode.

360

Page 361: Compiler Error Messages

Severity

Warning

Recovery

The type defaults to int and compilation continues.

Example int main(){ register Num = 0; /* missing type specifier, will default to int */ }

How to Fix

Add the missing type specifier at the appropriate place in the source code.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0267 Compiler Warning: old-style parameter list (anachronism)

Description

The old-style parameter list is an anachronism in C++. C++ specific.

Severity

Warning

Recovery

After the warning compilation continues.

Example void f(i, j) int i; int j; {} void main(){}

How to Fix Use new a new style parameter list.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (8.4)

cc0301 Compiler Warning: typedef name has already been declared(with same type)

Description

This typedef statement redefines a name to the same type, int the current scope. This warning is C specific.

Severity

Warning

Recovery

The compiler ignores the statement and compilation continues.

361

Page 362: Compiler Error Messages

Example typedef int num; typedef int num; int main(){}

How to Fix

Remove the redundant re-declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.3)

cc0362 Compiler Warning: "overload" keyword used (anachronism)

Description The overload keyword was used as an identifier in the source file. C++ specific.

Severity

Warning

Recovery

The compiler ignores the statement containing the "overload" keyword, and compilation continues.

Example void main(){ overload f; }

How to Fix

Replace the "overload" keyword with another token that is not a C++ keyword.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0368 Compiler Warning: entity-kind entity defines no constructor to initialize the following

Description

A constructor definition needed for the initialization of non-static data members of const-qualified type and/or reference members is not present.

Severity

Warning

Recovery

The compiler issues the warning and compilation continues.

Example class A{ const int i; }; int main(){}

362

Page 363: Compiler Error Messages

How to Fix

Declare a default constructor at the appropriate place in the source code.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.6.2)

cc0370 Compiler Warning: entity-kind "entity" has an uninitialized const field

Description An entity (struct or union) has a non-static data member of const-qualified type or a reference member that was not initialized. This error is C specific.

Severity

Warning

Recovery

The compiler issues the diagnostic, and compilation continues.

Example void main(){

struct {

const int num;

}a;

}

How to Fix Initialize the offending const member at the appropriate place in the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0375 Compiler Warning: declaration requires a typedef name

Description

A typedef declaration with no declarator defines a type, but does not declare a name.

Severity Warning

Recovery

The compiler ignores the declaration, and compilation continues.

Example typedef class {}; /* typedef declarator missing */ int main(){}

How to Fix

Add a declarator for the offending typedef declaration at the appropriate place in the source code.

Related Information

363

Page 364: Compiler Error Messages

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.3)

cc0379 Compiler Warning: cast of bound function to normal function pointer (anachronism)

Description

A bound function was cast to a normal function pointer as an anachronism. This warning is C++ specific.

Severity

Warning

Recovery

After the warning, compilation continues as normal.

Example struct A {int f();}; A *p = new A; int (*pf)() = (int (*)())p->f; int main(){}

How to Fix Remove the offending casting statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0387 Compiler Warning: delete array size expression used (anachronism)

Description

Anachronism. There is an expression between the brackets, presumably indicating the number of elements in the array.

Severity Warning

Recovery The compiler ignores the expression, and compilation continues.

Example int myArray[2]; void main(){ delete[2] myArray; }

How to Fix

Remove the expression between the square brackets.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.5)

364

Page 365: Compiler Error Messages

cc0414 Compiler Warning: delete of pointer to incomplete class

Description

Deletion of a pointer to an incomplete class.

Severity

Warning

Recovery

The compiler selects the appropriate destructor routine.

Example template <class T> struct B; void main(){ B<int> *p; delete p; }

How to Fix

Complete the class pointed to by the deleted pointer.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.5)

cc0426 Compiler Warning: temporary used for initial value of reference to non-const (anachronism)

Description A reference to non-const or to const volatile is initialized in a way that requires a temporary. This error is allowed as an anachronism.

In cfront mode, this use is allowed also for a reference to non-const if an argument is being passed, or if a temporary was constructed in 2.1 mode, or if a non-global was initialized 3.0 mode.

Severity Warning

Recovery

After the warning compilation continues.

Example int func1() { static int x; return x; } void func2(int& x) {} void main(){ func2(func1()); /* Warning: temporary used for initial value of to non-const */ }

365

Page 366: Compiler Error Messages

How to Fix

Ensure that a temporary is not used for initial value of reference to non-const.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0428 Compiler Warning: enumerated type mixed with another type (anachronism)

Description

An enumerated type was mixed with another type. This use is an anachronism.

Severity

Warning

Recovery

The compiler issues the warning and compilation continues.

Example enum colour {g,r,b}; colour farbe = g; void main(){ farbe++; }

How to Fix

Change the source code to ensure that the offending enumerated type is not mixed with any other type.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0461 Compiler Warning: initial value of reference to non-const must be an lvalue

Description

The initial value of a reference to non-const was an rvalue.

Severity Warning

Recovery The compiler issues a warning and compilation continues.

Example struct S { int s; S() : s(1) {} }; struct T { operator S() { return S(); } };

366

Page 367: Compiler Error Messages

T t; void main(){ S &rs = static_cast<S>(t); /* static_cast<X>(oy) is not an lvalue */ rs.s++; // suppress warning }

How to Fix

Ensure that the initial value of a reference to non-const is always an lvalue.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (13.3.3.1.4)

cc0482 Compiler Warning: entity-kind "entity" is an inaccessible type (allowed for cfront compatibility)

Description A particular type is not accessible. This warning is issued only in cfront mode (when you compile with ++cfront_2.1 and ++cfront_3.0 command line options). Note that cfront does not check access to types.

Severity Warning

Recovery The compiler issues a warning and compilation continues.

Example template<class T>

class A {

static T t;

};

class B {

private:

struct S {};

};

A<B::S> y; /* Warning: class "B::S" is an inaccessible type */

void main(){}

How to Fix In cfront mode, access errors on types are only warnings and these warning are always issued. The only way to eliminate the warning is to compile in ANSI mode (without the ++cfront_2.1 or ++cfront_3.0 command line options ).

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0494

367

Page 368: Compiler Error Messages

Compiler Warning: declaring a void parameter list with a typedef is nonstandard

Description

A type name is bound to void type. This construct is treated as a nonstandard way of signifying an empty parameter list.

This diagnostic is issued only in strict ANSI mode when using the -strict or -pedantic command-line options.

Severity

Warning

Recovery

The compiler treats the parameter list as empty, and compilation continues.

Example typedef void zero; void main(zero){}

How to Fix Remove the offending type name from the parameter list.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0497 Compiler Warning: declaration of "xxxx" hides template parameter

Description

A template parameter name has been reused in an inner scope of a template class or function.

Severity Warning

Recovery

The compiler warning states that the entity using the parameter name will be hidden, and compilation continues.

Example template <class T> class A { void func(int T){} /* Warning: declaration of "T" hides template parameter void func(int T){} */ }; void main(){}

How to Fix

A template parameter's scope extends from its point of declaration until the end of its template. Use a different name for the offending entity.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14.6.1)

368

Page 369: Compiler Error Messages

cc0514 Compiler Warning: Pointless comparison of unsigned integer with a negative constant

Description The compiler found a pointless comparison of an unsigned integer with a negative constant:

u == -n (always false)

u != -n (always true)

Severity Warning

Recovery The compiler warns about the pointless comparison and ignores it.

How to Fix A comparison that identifies with one of the above cases is pointless and should be removed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0549 Compiler Warning: entity-kind "entity" is used before its value is set

Description A variable that is not a block-extern variable or a namespace-scope variable with internal linkage is being used before its value is set. In C++ a warning is not issued if the variable is of class type (or array of class type ) and the class has no fields.

Severity

Warning

Recovery

The compiler issues the warning and compilation continues.

Example void main(){ int i; i++; /* Warning: variable "i" is used before its value is set */

}

How to Fix Ensure that the variable value is set before using the variable.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0552 Compiler Warning: exception specification is not allowed

Description

369

Page 370: Compiler Error Messages

An exception specification is not allowed on a declaration.

Severity Warning

Recovery The compiler ignores the statement and compilation continues.

Example struct S {};

typedef void (*PF) () throw(S,int); /* Warning: exception specification is not allowed*/

void main() {}

How to Fix

Remove the exception specification statement causing the warning.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (15.4)

cc0553 Compiler Warning: external/internal linkage conflict for entity-kind "entity" (declared at line xxxx)

Description

An existing template function has been redeclared as inline. This message is issued only for linkage inconsistency pertaining to non-member function templates.

Severity Warning

Recovery The compiler ignores the explicitly specified storage class and compilation continues.

Example template<class T> bool less (T a, T b);

bool (*pf)(int, int);

void func() { pf = &less; pf(5, 6); }

void main (){}

template<class T> inline bool less (T a, T b) { return a < b; }

How to Fix If you are redeclaring a template function, ensure that no linkage inconsistency occurs.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (14)

370

Page 371: Compiler Error Messages

cc0554 Compiler Warning: entity-kind "entity" will not be called for implicit or explicit conversions

Description This warning indicates a conversion to the same type, a reference to the same type or base class, or a reference to a base class in implicit or explicit conversions.

Severity

Warning

Recovery

The compiler issues the warning, ignores the statement, and continues compilation.

Example struct S { S(){} operator S&() volatile; } x;

void main() {}

How to Fix Remove the offending statement.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (12.3.2)

cc0608 Compiler Warning: this pragma must immediately precede a declaration or statement

Description The particular pragma used does not precede a declaration or a statement as required.

Severity Warning

Recovery The compiler issues the warning and compilation continues.

Example void main(){}

#pragma _printf_args

How to Fix

Ensure that this particular pragma precedes a declaration or a statement, or remove the pragma from the source file.

Related Information See also compiler documentation for pragmas.

cc0610 Compiler Warning: entity-kind "entity" does not match "entity" - virtual function override intended?

371

Page 372: Compiler Error Messages

Description

A declaration in the derived class might have been intended to override a base class virtual function, but did not. This occurrence is legal, but it might have been a mistake.

Severity

Warning

Recovery

The compiler issues the warning in case the construct was a mistake, and compilation continues.

Example class B { public: virtual void func() = 0; };

class A : public B { public: void func(int); /* Warning: "void A::vf2(dm int) dm" does not match "B::vf2" -- virtual function override intended? */ };

void main(){}

How to Fix The only way to eliminate this warning is to remove the statement causing it. Removal, however, is not necessary because the construct is perfectly legal. To suppress warnings, the -w command line option.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++" (27.7.1.3)

cc0617 Compiler Warning: pointer-to-member-function cast to pointer to function

Description

A pointer-to-member constant was cast to a pointer-to-function, in cfront mode (compiling with the command line options ++cfront_2.1 and ++cfront_3.0. ).

Severity

Warning, cfront mode only

Recovery

The compiler issues a warning about the cfront extension and compilation continues.

Example struct A {int f();};

void main () { int (*p)() = (int (*)())A::f; }

How to Fix In cfront mode, a pointer-to-member constant can be cast to a pointer-to-function. This warning is always issued when you use such a constant in cfront mode. The only way to suppress the warning is to compile with the -w (suppress warning) compile line option.

372

Page 373: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0618 Compiler Warning: struct or union declares no named members

Description

A structure or union declared unnamed member(s). This error is C specific, and is issued only when in strict (compiling with the -strict command line option) mode.

Severity

Warning, strict mode only

Recovery

The compiler issues the warning and compilation continues.

Example struct S { int:1; };

void main(){}

How to Fix Provide names for the offending unnamed members at the appropriate place in the source file, or remove them.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

This warning is not applicable to Analog compilers.

cc0657 Compiler Warning: inline specification is incompatible with previous "entity" (declared at line xxxx)

Description

The specific declaration is inline but the template is not.

Severity

Warning

Recovery

The compiler ignores the inline specifier and compilation continues.

How to Fix

Remove the inline specifier from declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C".

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0676 Compiler Warning: using out-of-scope declaration of entity-kind "entity" (declared at line xxxx)

Description

373

Page 374: Compiler Error Messages

This SVR4 compatibility feature is now a default ANSI C mode feature. An external symbol declared in another scope was used in the current scope. This warning is C specific.

Severity Warning

Recovery A new symbol that refers to the external entity is entered in the current scope. A warning is issued and a pointer to that new symbol is returned.

Example void f1(void) { extern void f(); extern int i; }

void f2() { int j = i; /* Warning: using out-of-scope declaration of variable "i" (declared at line 4) */ j++; /* suppresses warning */

f(); /* Warning: using out-of-scope declaration of function "f" (declared at line 3) */ }

int main(){ return 0; }

How to Fix The only way to eliminate the warning is not to use any external symbols declared in another scope, excluding the global scope, in the current scope. Remove the offending external symbol and, if possible, replace it with one declared locally or with a global symbol.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0715 Compiler Warning: __based does not precede a pointer operator, __based ignored

Description A __based modifier was present that was not followed by a pointer operator. This error is applicable only when Microsoft mode is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Warning

Recovery The compiler ignores the modifier and compilation continues.

Example This diagnostic can be reproduced only when Microsoft mode is enabled.

How to Fix

Remove the offending __based modifier, or ensure that it is followed by a pointer

374

Page 375: Compiler Error Messages

operator.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0722 Compiler Warning: use of alternative token "<:" appears to be unintended

Description

If you use a construct where "<:" is immediately followed by a ":" and digraphs are enabled, the compiler treats "<:" as a "[" and issues this warning.

Severity Warning

Recovery

The compiler treats "<:" as "[" and issues the warning. Then compilation continues.

Example int Array<::> = { 0 };

void main(){}

How to Fix

This warning appears only when digraphs are enabled (compiling with the -alttok compile line option). If the use of "<:" was not intended as a digraph, compile with digraphs disabled (no -alttok compile line option). The only way to eliminate the warning when digraphs are enabled is to replace the digraph in the source file with the token that it represents.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0723 Compiler Warning: use of alternative token "%:" appears to be unintended

Description

If you use a construct where "%:" is immediately followed by a ":" and digraphs are enabled, the compiler treats "%:" as a "#" and issues this warning.

Severity

Warning

Recovery

The compiler treats "%:" as "#" and issues the warning. Then compilation continues.

Example %::>

void main(){}

How to Fix

This warning only appears when digraphs are enabled (compiling with the -alttok compile line option). If the usage of "%:" was not intended as a digraph, compile with digraphs disabled (no -alttok compile line option). The only way to eliminate the warning when digraphs are enabled is to replace the digraph in the source file with

375

Page 376: Compiler Error Messages

the token that it represents.

Related Information ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0729 Compiler Warning: invalid combination of DLL attributes

Description

The dllimport and dllexport attributes are mutually exclusive. This diagnostic is only applicable when Microsoft mode is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity Warning

Recovery The compiler issues the warning and compilation continues.

Example

This error cannot be reproduces without the support for Microsoft extensions.

How to Fix

Ensure that the dllimport and dllexport attributes are not mutually exclusive.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0737 Compiler Warning: using-declaration ignored -- it refers to the current namespace

Description

You are trying to use either a using-declaration with a namespace qualifier that is the same as the current namespace or a using-declaration at file scope with "name" already declared in the file scope.

Severity Warning

Recovery

The compiler ignores the using-declaration and compilation continues.

Example namespace N { int i; using N::i; }

int i; using ::i;

void main(){}

How to Fix

Remove the offending using-declaration.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

376

Page 377: Compiler Error Messages

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.3)

cc0783 Compiler Warning: empty comment interpreted as token-passing operator "##"

Description In SVR4 C mode, an empty comment is treated as a token pasting operator.

The C/C++ Compiler : SHARC version 6.1.0 does not support SVR4 C mode.

Severity Warning

Recovery The compiler treats the empty comment as a token pasting operator and compilation continues.

Example

This error cannot be reproduced with the C/C++ Compiler : SHARC version 6.1.0, as SVR4 C mode is not supported.

How to Fix

Remove the empty comment from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C"

ISO/IEC 14882:1998 "Programming Languages - C++"

cc0830 Compiler Warning: entity-kind "entity" has no corresponding operator deletexxxx (to be called if an exception is thrown during initialization of an allocated object)

Description

No "delete" operator corresponds to this "new" operator. This diagnostic is issued only if exceptions are enabled. SHARC version 6.1.0 does not support exceptions.

Severity

Warning

Recovery The compiler issues the warning and compilation continues.

How to Fix

Ensure that every "new" operator has a corresponding "delete" operator.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.4)

cc0831 Compiler Error: support for placement delete is disabled

Description

A class member operator "delete" or "delete[]" has a second parameter type other

377

Page 378: Compiler Error Messages

than size_t.

Severity Remark, if exceptions disabled

Warning, if exceptions enabled

Recovery

The compiler issues the diagnostic and compilation continues.

Example #include <iostream.h>

class A

{

public:

void* operator new( size_t );

void operator delete( void* );

void operator delete( void*, int );

};

void main() {}

How to Fix

This construct is legal according to the ANSI standard. The diagnostic is issued because up to 1995, class member "delete" could have only two arguments and the second one had to be size_t. This restriction is no longer imposed.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0836 Compiler Warning: returning reference to local variable

Description The operand is the address being bound to a reference in a return statement. A warning is issued if this is a local entity.

Severity Warning

Recovery The compiler issues the diagnostic and compilation continues.

Example int& func()

{

int i;

return i;

}

void main() {}

How to Fix Ensure that functions do not return references to local variables.

378

Page 379: Compiler Error Messages

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (8.5.3)

cc0837 Compiler Error: omission of explicit type is nonstandard ("int" assumed)

Description

A type was not explicitly specified for the current declaration. This diagnostic applies to function declarations, function definitions, and non-function declarations where at least one declaration specifier is present. This error is C++ specific. A different diagnostic is used in C.

Severity

Warning

Fatal error, in strict mode (compiling with the -strict command line option)

Recovery

If a warning is indicated, the compiler assumes an "int" and compilation continues.

If a fatal error is indicated, the compiler cannot recover.

Example func(); /* Error: omission of explicit type is nonstandard

("int" assumed) */

void main()

{

const i; /* Error: omission of explicit type is nonstandard

("int" assumed) */

}

How to Fix Specify an explicit type for the offending declaration or definition.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (7.1.5)

cc0838 Compiler Error: more than one partial specialization matches the template argument list of entity-kind "entity"

Description More than one matching specialization was found, and none of the specializations is more specialized than any of the other matching specializations.

Severity

Fatal error

Recovery The compiler cannot recover from this error.

Example template <class T1, class T2, int I >

379

Page 380: Compiler Error Messages

class A {};

template <class T1, class T2, int I>

class A<T1*, T2, I> {};

template <class T1, class T2, int I>

class A<T1, T2*, I> {};

void main()

{

A<int*, int*, 2> a1; /* Error: more than one partial specialization

matches the template argument list of class

"A<dm int *, dm int *, 2>"

"A<T1 *, T2, I>"

"A<T1, T2 *, I>" */

if (&a1) {} /* suppresses warning */

}

How to Fix Remove the ambiguity to ensure that only one partial specialization matches the template argument list.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (14.5.4.1)

cc0860 Compiler Warning: __declspec attributes ignored

Description The __declspec attributes appearing during declarator processing or decl-modifiers that precede the linkage specifier were ignored.

This diagnostic appears only when support for Microsoft extensions is enabled.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

Severity

Warning

Recovery

The __declspec declarations are ignored and compilation continues.

How to Fix

Remove the offending __declspec attributes from the source file.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0867 Compiler Warning: declaration of "size_t" does not match the expected type

380

Page 381: Compiler Error Messages

"type"

Description

This diagnostic is issued when the declaration of size_t is inconsistent with the target configuration (that is, at file scope or in namespace "std").

Severity

Warning

Recovery

The compiler issues the diagnostic and compilation continues.

Example This error cannot be reproduced at the present time.

How to Fix Remove the offending size_declaration.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" ()

cc0870 Compiler Warning: invalid multibyte character sequence

Description

The multibyte character sequence was invalid.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for processing multibyte characters.

Severity

Warning

Recovery Compiler issues the warning and compilation continues.

Example This error cannot be reproduced with the locale set to disallow the processing of multibyte characters in the source.

How to Fix

Remove the offending multibyte character sequence from the source file.

Related Information

Compiler documentation

cc0902 Compiler Warning: type qualifier ignored

Description

This diagnostic is issued only when Microsoft mode is enabled, near/far mode is enabled, or both are enabled.

In Microsoft mode, qualifiers like const/volatile are dropped because they are ignored by the compiler. In near/far mode, all qualifiers other than near/far are ignored.

The C/C++ Compiler : SHARC version 6.1.0 does not include support for Microsoft extensions.

381

Page 382: Compiler Error Messages

Severity

Warning

Recovery

The compiler ignores the qualifiers and compilation continues.

How to Fix

This error cannot be fixed. You can, however, suppress the warning by using the -W compile line option.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (N/A)

cc0940 Compiler Error: missing return statement at end of non-void entity-kind "entity"

Description

A non-void function does not have a return statement.

Severity

Warning

Discretionary error, if you are compiling in C++ and in strict mode (with the -strict compile line option)

Recovery

The compiler issues the diagnostic and compilation continues.

Example int func() {}

void main() {}

How to Fix Provide a return statement for the offending function.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (6.6.3)

cc0941 Compiler Error: duplicate using-declaration of "entity" ignored

Description

The compiler has found a duplicate class member using declaration.

Severity

Warning

Discretionary error, if you are compiling in C++ and in strict mode (with the -strict compile line option)

Recovery The compiler issues the diagnostic and ignores the duplicate using declaration. Compilation continues.

382

Page 383: Compiler Error Messages

Example class A

{

public:

void f();

};

class B : public A

{

public:

using A::f;

using A::f;

};

void main() {}

How to Fix

Remove the offending duplicate class using declaration from the source file.

Related Information ISO/IEC 9899:1990 "Programming Languages - C" ()

ISO/IEC 14882:1998 "Programming Languages - C++" (7.3.3)

cc1039 Compiler Warning: a member with reference type is not allowed in a union.

Description

A member of a union is declared as a reference type. This error is C++ specific.

Severity

Warning (compiling with the -pedantic command line option)

Recovery

If a warning is indicated, the compiler allows the declaration and compilation continues.

Example union utype{

int x;

int &r; // member is a reference type

};

How to Fix

Change the member type to non-reference.

Related Information

See also: ISO/IEC 14882:1998 "Programming Languages - C++" (9.5)

cc1041 Compiler Warning: redeclaration of type alters its access.

Description

You are specifying a nested class with one access specification and redeclaring it with another. This warning is C++ specific.

383

Page 384: Compiler Error Messages

Severity

Warning (discretionary)

Recovery

The compiler issues the warning and compilation continues.

Example class outer{

class inner;

inner *blob;

public:

class inner{ // alter access properties

int mem;

}x;

};

How to Fix

Declare the class with the same access specifier used in its previous declaration.

Related Information

See also: ISO/IEC 14882:1998 "Programming Languages - C++" (11.8)

cc1043 Compiler Warning: return type "int" omitted in declaration of function "main".

Description

You are declaring the function main with no explicit return type.

Severity

Warning (compiling with the -pedantic command line option)

Recovery

The compiler issues the warning and compilation continues.

Example main()

{

}

How to Fix

Specify a return type for function main.

Related Information See also: ISO/IEC 14882:1998 "Programming Languages - C++" (11.8)

cc1045 Compiler Warning: missing return statement at end of non-void function "f"

Description A function that expects to return a value and does not explicitly does so on termination.

Severity

Warning

Recovery

384

Page 385: Compiler Error Messages

The compiler issues the warning and compilation continues.

Example int f()

{

}

How to Fix

Add a return statement explicitly at the end of the function.

Related Information

ISO/IEC 9899:1990 "Programming Languages - C" (3.6.6.4)

ISO/IEC 14882:1998 "Programming Languages - C++" (6.6.3)

cc1073 Compiler Warning: __IDENT__ seen before #ident. Expanding to file and date

Description

You are using the predefined macro __IDENT__ before setting #ident.

Severity

Warning

Recovery

Macro __IDENT__ is given the default value filename and date.

Example #include <stdio.h>

main()

{

printf("%s\n",__IDENT__);

}

How to Fix

Set up the value of __IDENT__ by using #ident.

Related Information

cc1074 Compiler Warning: #ident declared without parameters. Expanding to __FILE__ and date

Description

Macro directive #ident has been declared with no parameter.

Severity Warning

Recovery

The directive #ident is given the default value filename and date.

Example #include <stdio.h>

#ident // string parameter expected.

main()

{

385

Page 386: Compiler Error Messages

printf("%s\n",__IDENT__);

}

How to Fix

Initialize #ident with a string.

Related Information

cc1080 Compiler Warning: Function does not have a full prototype.

Description

You are calling a function that is declared with no prototype information.

Severity

Warning, C mode and option -warn-protos

Recovery The compiler issues the warning and compilation continues.

Example void func();

void func2()

{

func(5,6);

}

How to Fix Specify a prototype for the function.

Related Information

See also: ISO/IEC 9899:1990 "Programming Languages - C" (6.5.4.3)

cc1114 Compiler Warning: alignment less than specified type requirement given by pragma align.

Description

The alignment value specified by #pragma align is less than the default of the variable being declared.

Severity

Warning

Recovery

The compiler issues the warning and compilation continues.

Example #pragma align 2

int x;

How to Fix Correct the alignment value.

Related Information See also the section about data alignment pragmas in the "Compiler" chapter of the VisualDSP++ Compiler and Library Manual for your processor.

386

Page 387: Compiler Error Messages

cc1127 Compiler Warning: f cannot be inlined because it takes a variable number of arguments

Description The compiler cannot inline a function which accepts a variable number of arguments, and a warning is raised if such a function is declared with the "inline" keyword.

Severity

Warning

Recovery

The compiler will continue to parse the translation unit and show any subsequent errors but will then exit and not produce an output file.

Example inline func_va(int a, ...) { /* Some code */ } void func(){ func_va(1,2,3,4); }

How to Fix

Remove the 'inline' keyword.

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1164 Compiler Warning: return type of function "main" must be "int"

Description

The function "main" should return an "int" type. If it does not, the compiler issues a warning.

Severity Warning

Recovery The compiler issues a warning and compilation continues.

Example void main()

{

}

How to Fix

Either suppress the warning using -w or change the return type of the function to "int".

Related Information

cc1268 Compiler Warning: types cannot be declared in anonymous unions.

Description

387

Page 388: Compiler Error Messages

Declaring a type as a member of anonymous union is illegal.

Severity Discretionary warning, C++ only

Recovery The compiler issues the warning and compilation continues.

Example static union {

int x;

typedef int y; // invalid type declaration

};

How to Fix

Move the type declaration outside the anonymous union.

Related Information

ISO/IEC 14882:1998 "Programming Languages - C++" (9.5)

cc1269 Compiler Warning: returning pointer to local variable.

Description

You are taking the address of a local variable and returning it from the function in which it is declared.

Severity Discretionary warning

Recovery The compiler issues the warning and compilation continues.

Example int *func()

{

int r = 21;

return &r;

}

How to Fix

Use malloc to allocate some memory or use the file scope declaration to ensure the space is not corrupted.

Related Information ISO/IEC 14882:1998 "Programming Languages - C++" (5.3.1)

ISO/IEC 9899:1990 "Programming Languages - C" (6.3.3.2)

cc1305 Compiler Warning: invalid attribute for variable "name".

Description

You are specifying an attribute name for the wrong kind of declaration.

Severity

Discretionary warning

388

Page 389: Compiler Error Messages

Recovery

The compiler issues the warning and compilation continues.

Example int var __attribute__((pure));

How to Fix Spell the attribute name correctly.

Related Information See also the section about attributes in the VisualDSP++ Compiler and Library Manual for your processor.

cc1310 Compiler Warning: attribute "name" ignored.

Description

You are specifying an unrecognized or badly spelled attribute name.

Severity

Discretionary warning

Recovery

The compiler issues the warning and compilation continues.

Example int x __attribute__((week));

How to Fix

Spell the attribute name correctly.

Related Information

See also the section about attributes in the VisualDSP++ Compiler and Library Manual for your processor.

cc1355 Compiler Warning: arithmetic on pointer to void or function type.

Description You are using a pointer to a void or to a function in an arithmetic expression.

Severity Discretionary warning

Recovery The compiler issues the warning and compilation continues.

Example void *p;

void *q;

void func()

{

q = p + 1;

}

How to Fix

You can fix the analog extension, which may show up as an unintended problem, by changing the pointer to a valid type.

389

Page 390: Compiler Error Messages

Related Information

See also the section about GNU extensions in the VisualDSP++ Compiler and Library Manual for your processor.

cc1367 Compiler Warning: variable-length array field type will be treated as zero-length array field type.

Description

If you declare a variable-length array in a local class, the specified size will be ignored.

Severity Discretionary warning

Recovery The compiler issues the warning and compilation continues.

Example void glob(int);

int sz;

void func(){

struct S{

int obj;

int arr[sz]; // ignore sz and zero used

}d;

glob(d.obj);

}

How to Fix You can fix the analog extension, which may show up as an unintended problem, by changing the pointer to a valid type.

Related Information

See also the section about GNU extensions in the VisualDSP++ Compiler and Library Manual for your processor.

cc1368 Compiler Warning: nonstandard cast on lvalue ignored.

Description In C mode as an extension the compiler allows a cast as an lvalue.

Severity

Discretionary warning

Recovery

The compiler issues the warning and compilation continues.

Example int x;

main()

{

(float)x = 2.5; // cast is allowed as an extension.

}

390

Page 391: Compiler Error Messages

How to Fix

Use memcpy to move the pattern into the assigned value.

Related Information

See also the section about GNU extensions in the VisualDSP++ Compiler and Library Manual for your processor.

cc1371 Compiler Warning: the auto specifier is ignored here (invalid in standard C/C++).

Description

As an extension the compiler allows an auto declaration of global scope, but ignores the auto keyword.

Severity Discretionary warning

Recovery

The compiler issues the warning and compilation continues.

Example auto int x; // ignore keyword auto

main()

{

x = 2;

}

How to Fix

Remove the auto keyword from the global declaration.

Related Information

See also the section about GNU extensions in the VisualDSP++ Compiler and Library Manual for your processor.

cc1374 Compiler Warning: excess initializers are ignored.

Description As an extension the compiler allows extra initializers to be specified.

Severity Discretionary warning

Recovery

The compiler issues the warning and compilation continues.

Example int x[2] = {1,2,3};

main()

{

}

How to Fix

Remove the excess initializers.

Related Information

391

Page 392: Compiler Error Messages

See also the section about GNU extensions in the VisualDSP++ Compiler and Library Manual for your processor.

cc1440 Compiler Warning: pragma regs_clobbered register or register set name "r" not recognized. Ignoring pragma; using default volatile set instead.

Description

The warning is issued if a user-defined clobber set, indicated using #pragma regs_clobbered, contains an unrecognized register or register set name. The compiler ignores the pragma regs_clobbered use that spawned the warning.

Severity Discretionary warning

Recovery The compilation continues after the warning is issued assuming the default volatile set.

Example #pragma regs_clobbered "myreg" /* myreg wil be unrecognized */ void func() { /* some code */ }

How to Fix Remove or correct the use of the unrecognized register or register set name in pragma regs_clobbered use on indicated source line.

cc1441 Compiler Warning: pragma regs_clobbered register range beginning "r-" must consist of one start and one end register. Ignoring pragma; using default volatile set instead.

Description

The warning is issued if a user-defined clobber set contains a register range with more than one start and end register. The compiler ignores the pragma regs_clobbered use that spawned the warning.

Severity Discretionary warning

Recovery The compilation continues after the warning is issued assuming the default volatile set.

Examples

Blackfin Processors #pragma regs_clobbered "r0-r1-r2" /* invalid register range */ void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "r0-r1-r2" /* invalid register range */ void func() { /* some code */

392

Page 393: Compiler Error Messages

}

TigerSHARC Processors #pragma regs_clobbered "xr0-xr1-xr2" /* invalid register range */ void func() { /* some code */ }

How to fix

Specify a range of registers containing a start and end register. For example:

Blackfin Processors #pragma regs_clobbered "r0-r1" void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "r0-r1" void func() { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "xr0-xr1" void func() { /* some code */ }

cc1442 Compiler Warning: pragma regs_clobbered register set contains register r which may not be clobbered. Ignoring that register.

Description

The warning is issued if a user-defined clobber set contains a register which cannot be clobbered as it is required to be preserved over a function call.

Severity

Discretionary warning

Recovery

The use of the register in question is ignored, and the compilation continues after the warning is issued.

Examples Blackfin Processors #pragma regs_clobbered "fp Dscratch" /* fp must be preserved */ void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "i6 DAGscratch Dscratch" /* i6 must be preserved */ void func() { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "J26 DABset" /* J26 must be preserved */ void func() { /* some code */

393

Page 394: Compiler Error Messages

}

How to fix Remove the uses of the register in question from the instance of #pragma regs_clobbered that spawns the warning.

cc1443 Compiler Warning: pragma regs_clobbered may not preserve register r across a function call. Clobbering that register.

Description The warning is issued if a user-defined clobber set does not include certain necessary clobbered registers. An example would be those registers which are required to implement the call and return mechanism and are always clobbered in the process of calling a function.

Severity Discretionary warning

Recovery The compilation continues after the warning is issued. The compiler automatically includes the register in question in the #pragma regs_clobbered register set.

Examples

Blackfin Processors

This warning does not apply to Blackfin processors.

SHARC Processors #pragma regs_clobbered "Dscratch" /* i12 requires to be clobbered */ void func() { /* some code */ }

TigerSHARC Processors

This warning does not apply to TigerSHARC processors.

How to fix Include a use of the register in question in the instance of #pragma regs_clobbered that spawns the warning.

cc1444 Compiler Warning: pragma regs_clobbered may not use register set rs as start or end of a register range. Ignoring pragma; using default volatile set instead.

Description

The warning is issued if a user-defined clobber set specifies a register set as either the start or end of a range of registers.

Severity Discretionary warning

Recovery The pragma is ignored and the compilation continues after the warning is issued.

Examples

Blackfin Processors

394

Page 395: Compiler Error Messages

#pragma regs_clobbered "Dscratch-r7" void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "r0-Dscratch" void func() { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "XR0-XYscratch" void func() { /* some code */ }

How to fix

Specify a range of registers containing a start and end register. For example:

Blackfin Processors #pragma regs_clobbered "r0-r1" void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "r0-r1" void func() { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "xr0-xr1" void func() { /* some code */ }

cc1445 Compiler Warning: pragma regs_clobbered start and end registers of register range beginning r must reside within the same register class. Ignoring pragma; using default volatile set instead.

Description The warning is issued if a user-defined clobber set specifies a range of registers where the start and end registers are of a different register class.

Severity Discretionary warning

Recovery The pragma is ignored and the compilation continues after the warning is issued.

Examples Blackfin Processors #pragma regs_clobbered "p0-r7" void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "i0-r7"

395

Page 396: Compiler Error Messages

void func() { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "XR0-XMR4" void func() { /* some code */ }

How to fix

Specify a range of registers containing a start and end register of the same class. For example:

Blackfin Processors #pragma regs_clobbered "r0-r1" void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "r0-r1" void func() { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "xr0-xr1" void func() { /* some code */ }

cc1446 Compiler Warning: pragma regs_clobbered contains reserved registers r; register will not be clobbered.

Description The warning is issued if a user-defined clobber set specifies a register which has been reserved (see –reserve switch).

Severity

Discretionary warning

Recovery The compilation continues after the warning is issued.

Examples Blackfin Processors ccblkfn -reserve m3 t.c File t.c: #pragma regs_clobbered “Dscratch m3” void func() { /* some code */ }

SHARC Processors cc21k –reserve i9 t.c #pragma regs_clobbered “Dscratch i9” void func() { /* some code */

396

Page 397: Compiler Error Messages

}

TigerSHARC Processors Warning cc1446 does not apply to TigerSHARC processors.

How to fix

Remove register r from the string of clobbered register.

cc1447 Compiler Warning: pragma regs_clobbered may not be used with pragma interrupt; regs_clobbered pragma will be ignored.

Description

The warning is issued if an attempt is made to use a regs_clobbered pragma in conjunction with a function declared with #pragma interrupt (or the EX_INTERRUPT_HANDLER macro). Due to the nature of an interrupt service routine, the information in the pragma is of no benefit.

Severity

Discretionary warning

Recovery

The pragma is ignored, and the compilation continues after the warning is issued.

Examples

Blackfin Processors #pragma regs_clobbered "Dscratch" EX_INTERRUPT_HANDLER(myisr) { /* some code */ }

SHARC Processors #pragma regs_clobbered "Dscratch" #pragma interrupt void (myisr) { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "Dscratch" #pragma interrupt void (myisr) { /* some code */ }

How to fix Remove the regs_clobbered pragma.

cc1448 Compiler Warning: pragma regs_clobbered uses different clobbered string to previous declaration.

Description

The warning is issued if the regs_clobbered string applied to a previous declaration of the function that does not match the declaration at the indicated line. The clobber set on the previous declaration is ignored.

Severity

397

Page 398: Compiler Error Messages

Discretionary warning

Recovery The compilation continues after the warning is issued.

Examples Blackfin Processors #pragma regs_clobbered "r0-r7" void func(); #pragma regs_clobbered "r0-r5" void func() { /* some code */ }

SHARC Processors #pragma regs_clobbered "r0-r7" void func(); #pragma regs_clobbered "r0-r5" void func() { /* some code */ }

TigerSHARC Processors #pragma regs_clobbered "xr0-xr4" void func(); #pragma regs_clobbered "xr0-xr3" void func() { /* some code */ }

How to fix

Ensure that the string of clobbered registers match on both declarations.

cc1467 Compiler warning: minimum and maximum parameters to pragma loop_count are inconsistent

Description

Attempt to specify #pragma loop_count(min, max, modulo) where the min parameter exceeds the max parameter.

Severity

Warning

Recovery The compiler ignores both the minimum and maximum parameters of the pragma.

Example The code fragment #pragma loop_count(10,6,2) for (i=0; i<n; i++) statement;

gives the error message cc1467: {D} warning: loop count pragma specifies smaller maximum than minimum trip count; minimum and maximum arguments ignored

How to Fix

398

Page 399: Compiler Error Messages

Set the minimum and maximum parameters in a consistent fashion, by either changing their values so that the maximum trip count exceeds the minimum, or omitting one or both parameters if they are unknown.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1470 Compiler warning: missing #pragma diag(pop)

Description

More #pragma diag(push) directives have been encountered than corresponding #pragma diag(pop) directives at the end of compilation.

Severity

Warning

Recovery

The compiler ignores the entire directive.

Example The code fragment #pragma diag(push) #pragma diag(push) #pragma diag(pop)

gives the error message cc1470: warning: missing #pragma diag(pop)

How to Fix

Remove one of the #pragma diag(push) directives or add the corresponding #pragma diag(pop) directive at the end of the translation unit.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1482 Compiler warning: taking the address of a misaligned field is not recommended

Description

An attempt has been made to take the address of a data member within a packed class, structure, or union. The compiler can handle direct reads and writes from such misaligned fields but cannot keep track of such operations if their addresses are passed around via pointers.

Severity Warning

Recovery

The compiler will take the address of the field. Be aware that all reads and writes to that address are the responsibility of the user code and not of the compiler.

Example #pragma pack(1) struct A {char a; int b; } s; int *p = &s.b;

399

Page 400: Compiler Error Messages

How to Fix

If this is not intentional, allow the compiler to read and write to the field directly without taking its address or consider using the provided misaligned intrinsic functions when reading or writing to that address.

If this is intentional, you can temporarily suppress this message in the code by using the diag() pragma.

cc1633 Compiler warning: unable to vectorize loop - circular buffer is not a suitable length

Description

A _SIMD_for_ or _vector_for_ pragma was used to instruct the compiler to vectorize a loop, but the circular buffer that is accessed in the loop is not a suitable length for vectorization.

Severity

Warning

Recovery

The compiler will ignore the pragma.

Example

The following code fragment #pragma vector_for(2) for (i = 0; i < 100; i++) total += a[i%7] * b[i%7]; // Circular buffer length is not multiple of 2

will give the warning cc1633: {D} warning: unable to vectorize loop - circular buffer is not a suitable length

How to Fix Remove the pragma.

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1635 Compiler warning: function declared with "noreturn" appears to return

Description

A noreturn pragma or GNU attribute was used to instruct the compiler that a function never returns to its caller. However, the compiler found a control flow path that appeared to lead to a return from the function.

Severity Warning

Recovery The compiler will honor the pragma, and therefore, despite appearances assume that the function will never return.

Example The following code fragments void g(void);

400

Page 401: Compiler Error Messages

#pragma noreturn void f1(void) { g(); }

volatile int a; __attribute__((noreturn)) void f2(void) { while (a != 0) ; }

will give the warning cc1635: {D} warning: function declared with "noreturn" appears to return

How to Fix Remove the pragma if it is not valid. If it is valid, it may be possible to avoid the warning by adding extra hints (e.g., /* NOTREACHED */) or noreturn pragmas to the code.

The above examples may be changed to: #pragma noreturn void g(void); #pragma noreturn void f1(void) { g(); }

volatile int a; __attribute__((noreturn)) void f2(void) { while (a != 0) ; /* NOTREACHED */ }

Related Information VisualDSP++ C/C++ Compiler and Library Manual

cc1638 Compiler warning: fract value cannot be represented exactly therefore the maximum fract value will be used

Description

Fract values in the range 0.99999997r – 1.0r are given the value 0x7fffffff.

Severity

Warning

Recovery

The compiler will generate the maximum fract value (in hex 0x7fffffff) for the variable.

Example

The code fragment fract fr1 = 0.99999999999r; fract fr2 = 1.0r;

will produce the warnings: "test.cpp", line 5: cc1638: {D} warning: fract value cannot be represented exactly therefore the maximum fract value will be used fract fr1 = 0.99999999999r; ^

"test.cpp", line 6: cc1638: {D} warning: fract value cannot be represented

401

Page 402: Compiler Error Messages

exactly therefore the maximum fract value will be used fract fr2 = 1.0r

cc1639 Compiler warning: undefined behavior in standard C: lvalue expression assigned and then used before sequence point

Description

Standard C specifies expressions which cannot be relied on such as a[i] = i++;. This warning highlights such cases.

Severity Warning

Recovery

The compiler chooses the most efficient way to use these expressions.

Example

The code fragment a[i] = i++;

How to Fix

Rewrite as: a[i] = i; i++;

cc1640 Compiler warning: undefined behavior in standard C: lvalue expression assigned more than once before sequence point

Description

Standard C specifies expressions which cannot be relied on such as p->a = (p->a =2);. This warning highlights such cases.

Severity

Warning

Recovery

The compiler chooses the most efficient way to use these expressions.

Example

The code fragment p->a = (p->a = 2) + x;

How to Fix

Rewrite as: p->a = 2; p->a = p->a +x;

cc1644 Compiler Warning: function f makes caller overly large – inlining anyway

Description

This warning is issued if it has been requested that a function should always be inlined (with use of #pragma always_inline or the –always-inline switch) and the

402

Page 403: Compiler Error Messages

compiler has determined that either the resulting code size or stack size of the calling function exceeds a sensible size limit.

Severity

Discretionary Warning

Recovery

The compilation continues after the warning is issued.

Example #pragma always_inline inline big_func() { int big_array[100000]; /* Some code */ } void caller() { /* Some code */ big_func(); }

How to Fix

To prevent the warning, do not explicitly direct the compiler to inline functions with particularly large amount of code or local data.

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1645 Compiler Warning: function f makes caller exceed speed/space ratio – inlining anyway

Description

This warning is raised if it has been explicitly requested that a function should be inlined (with use of #pragma always_inline or the –always-inline switch) and the compiler has determined that performing the inlining operation at this call site causes the code size of the calling function to increase such that the requested speed/size optimization ratio is not satisfied.

Severity Discretionary Warning

Recovery

Below, the inlining of function func into caller will not normally be performed where the resulting size of caller is too large to satisfy the requested ratio. The pragma directs the compiler to do so regardless, so the warning will be issued.

Example #pragma always_inline inline func() { /* Some code */ } void caller() { /* Some code */ func(); }

How to Fix To prevent the warning, do not explicitly direct the compiler to inline the function, or

403

Page 404: Compiler Error Messages

adjust the optimization bias towards speed optimization (with use of the –Ov switch).

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1646 Compiler Warning: function f exceeds speed/space ratio – inlining anyway

Description This warning is issued if it has been requested that a function should always be inlined (with use of #pragma always_inline or the –always-inline switch) and the compiler has determined that the size of the function to be inlined is too large given the requested speed/size optimization ratio.

Severity

Discretionary Warning

Recovery

The compilation continues after the warning is issued.

Example

Below, the inlining of function big_func into caller will not normally be performed where the size of big_func is too large to satisfy the requested optimization ratio. The pragma directs the compiler to do so regardless, so the warning will be issued. #pragma always_inline inline big_func() { /* Much code */ } void caller() { /* Some code */ big_func(); }

How to Fix

To prevent the warning, do not explicitly direct the compiler to inline the function, or adjust the optimization bias towards speed optimization (with use of the –Ov switch).

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1651 Compiler Warning: #pragma never_inline not valid on 'inline' functions

Description

This warning is issued if #pragma never_inline has been applied to a function declared with the 'inline' keyword. The pragma's intended application is to prevent functions declared non-'inline' from being inlined when automatic inlining is enabled (with the –Oa switch).

Severity Discretionary Warning

Recovery The compilation continues after the warning is issued.

Example

404

Page 405: Compiler Error Messages

#pragma never_inline inline int func()

How to Fix

Remove the 'inline' keyword or remove #pragma never_inline.

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1654 Compiler Warning: f: #pragma always_inline overridden by command-line switch

Description

This warning is issued when the command-line option –never-inline is specified, overriding the #pragma always_inline preceding the declaration of function f. The function will not be inlined.

Severity Warning

Recovery The compilation continues after the warning is issued.

Example #pragma always_inline inline func(int a) { /* Some code */ } void func2() { func(1); }

How to Fix

To prevent the warning being issued, remove the #pragma always_inline, or do not specify option –never-inline.

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1658 Compiler Warning: address taken of function declared with user-defined clobber set

Description

The warning is issued if the address of a function (which has a user-defined clobber set) has been taken. This is because the compiler is unable to honor the defined clobber set if a call is subsequently made to the function via a pointer. The regs_clobbered_call pragma should be used in these circumstances.

Severity Discretionary warning

Recovery

The compilation continues after the warning is issued.

Example

405

Page 406: Compiler Error Messages

#pragma regs_clobbered "r0 r1 p1 p2" int func() { /* some code */ } void caller() { int (*f)(void); f = func; /* assigns the address of func and results in cc1658 */ }

How to Fix

Do not apply the regs_clobbered pragma to the declaration of a function if the function's address is taken.

cc1661 Compiler Warning: enumeration value is greater than int type

Description

An enumeration containing a type that cannot be represented by an int will make the compiler choose a different integer representation, for example long long.

Severity Warning

Recovery You can choose to ignore this if this is the behavior you desire. If you wish to restrict the enum values to type int, then the -enum-is-int switch can be specified.

Example enum fred{ value = 0x80001000 // Value larger than int };

How to Fix

Use the -enum-is-int switch.

cc1665 Compiler Warning: variable "iden" is possibly used before its value is set in loop

Description An uninitialized variable is used in a loop. Control flow is such that it is possible that it is assigned later in the loop, hence the use of "possibly".

Severity

Discretionary warning

Recovery If the warning genuinely shows the use of the variable before it has been assigned a value, then the variable should be correctly initialized to avoid serious run-time issues.

Example void func() { int i; int j = 0;

406

Page 407: Compiler Error Messages

while (j i += j; // i used before it has been set } }

How to Fix Initialize the variable to an initial value.

cc1667 Compiler Warning: Section directive can only be used with a class member definition, not its declaration.

Description

This warning is issued if the section directive is used on a class member definition, not its declaration.

Severity Warning

Recovery After the warning, compilation continues.

Example section("mysec") class myclass { int i; int foo(); };

How to Fix

Place directive on class member definitions only. For example: section("mysec") int myclass::foo() { return i; };

cc1734 Compiler Warning: pragma regs_clobbered without "p1" can be inefficient.

Description This warning is raised if a function has a user-defined clobber set which does not contain register P1. The warning highlights a potential inefficiency due to the possibility that register P1 is used by the linker for expanding CALL instructions where the destination of the call is out of the range of the PC-relative call instruction. Since it is not known at compile time whether this will be the case, a calling function which uses P1 must save and restore the register (potentially unnecessarily) around a call to a function which does not contain it in its clobber set.

Severity

Warning

Recovery

The compilation continues after the warning is issued.

Example #pragma regs_clobbered "r0-r7 p0 p2-p5 astat" int func(void) {

407

Page 408: Compiler Error Messages

/* Some code */ }

How to Fix The warning can be resolved by adding P1 to the user-defined clobber set in question. This would be beneficial if, having studied the generated executable, it was found that the linker had not expanded the call to the function and therefore not clobbered P1.

Related Information Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc1737 Compiler Warning: an inline asm statement with a memory clobber is being used with IPA: where possible try to avoid this. If this is not feasible, mark any variables that may be written to as volatile; otherwise, unexpected results may be obtained

Description

The compiler is commenting that an inline asm statement is being used which has memory specified in the clobber list. This is particularly important with IPA enabled. If IPA were to assume that an inline asm statement with a memory-clobber writes to all globals, then including one such statement in a program would mean the value of any global could not be determined (IPA is not flow-sensitive) and this would negate much of the potential benefit that IPA provides. For this reason, the compiler does not make this assumption. If the compiler encounters an inline asm statement with a memory-clobber when IPA is enabled, it will generate this warning.

Severity Warning

Recovery The compiler issues the warning and continues the compilation of the translation unit. However, the results of the program execution may not be as expected.

Examples

The file foo.c contains the following function with an inline asm statement:

Blackfin Processors int glob; void foo(void) { asm volatile("p0.h = 0x9009; p0.l = 0x8008; \n" "p5.l = _glob; p5.h = _glob; \n" "[p5] = p0; \n" : /*O*/ : /*I*/ : /*C*/ "p0", "p5", "memory" ); } int main(void) { foo(); }

Invoking the compiler:

408

Page 409: Compiler Error Messages

ccblkfn -O foo.c -ipa

SHARC Processors int glob; void foo(void) { asm volatile("r1 = 0x90098008; \n" "I1 = _glob; \n" "DM(0,I1) =r1; \n" : /*O*/ : /*I*/ : /*C*/ "r1", "I1", "memory" ); } int main(void) { foo(); }

Invoking the compiler: cc21k -O foo.c -ipa

TigerSHARC Processors int glob; void foo(void) { asm volatile("k30 = 0x90098008;; \n" "[j31 + _glob] = k30;; \n" : /*O*/ : /*I*/ : /*C*/ "k30", "memory" ); } int main(void) { foo(); }

Invoking the compiler: ccts -O foo.c -ipa

Produces: "foo.c", line 43 (col. 4): cc1737: {D} warning: an inline asm statement with a memory clobber is being used with IPA: where possible try to avoid. If this is not feasible, mark any variables that may be written to as volatile. Otherwise, unexpected results may be obtained.

It is better practice to produce the value in the asm statement as an output, and write the global variable in a C statement. This means that the write to the global variable is not hidden from the compiler. For example:

Blackfin Processors int glob; void foo(void) { asm volatile("%0.h = 0x9009; %0.l = 0x8008; \n" : "=d" (glob) /*o*/ : /*I*/ : /*C*/ ); }

409

Page 410: Compiler Error Messages

int main(void) { foo(); }

SHARC Processors int glob; void foo(void) { asm volatile("%0 = 0x90098008; \n" : "=r" (glob) /*O*/ : /*I*/ : /*C*/ ); } int main(void) { foo(); }

TigerSHARC Processors int glob; void foo(void) { asm volatile("%0 = 0x90098008;; \n" ": "=k" (glob) /*O*/ : /*I*/ : /*C*/ ); } int main(void) { foo(); }

This is just an illustrative example. In this particular case, it would be preferable to write the constant directly to the global entirely in C. However, the principle is the same for examples where the value to be stored in the global has to be calculated by the inline asm statement.

How to Fix

Replace the inline asm with one which does not require a memory clobber. If this is not possible, ensure that any variables that can in fact be written to by the inline asm are marked as volatile.

Related Information

Refer to "Inline Assembly Language Support Keyword (asm)" in your processor's VisualDSP++ C/C++ Compiler and Library Manual.

cc1745 Compiler Warning: Externally defined variable ID, possibly used in initialization before it has been constructed.

Description

An externally defined class object that requires a constructor is used in the initialization of a static or external object.

Severity

Warning

Recovery

The compilation continues as normal after the warning is issued.

410

Page 411: Compiler Error Messages

Example class X{ public: X(); int x; }; class Y{ public: Y(X*); X x_memb; }; extern X obj; Y z(&obj); // obj possibly used before it is constructed.

How to Fix

One solution is to define obj in the same compilation unit and before the declaration of z.

cc1746 Compiler Warning: Externally defined variable ID, possibly used in constructor before it has been constructed.

Description

An externally defined class object requiring a constructor is used in the constructor of another class, which potentially means a use before it has been constructed results in this warning.

Severity Warning

Recovery The compilation continues as normal after the warning is issued.

Example class X{ public: X(); int x; }; class Y{ public: Y(X*); X x_memb; }; extern X obj; Y::Y() { x_memb = obj; // obj may or not be constructed before // construction of z } Y z;

411

Page 412: Compiler Error Messages

How to Fix

One solution is to define obj in the same compilation unit and before the declaration of z.

cc1749 Compiler Warning: alignment for local variable greater than stack alignment

Description

When #pragma align <num> is applied to local variables, then the alignment value <num> must not be greater than the stack alignment. This warning indicates that the specified alignment value is greater than the stack alignment, and that the variable will have the default alignment for the data type size.

Severity

Warning

Recovery The compilation continues after the warning is issued.

Examples Examples are supplied for each processor family.

Blackfin Example #pragma align 4 int x; #pragma align 16 int y; #pragma align 4 int global_array1[5] = {1,2,3,4,5}; #pragma align 8 int global_array2[5] = {1,2,3,4,5}; int func() { #pragma align 4 int a = 2; #pragma align 16 // alignment value greater than stack alignment int b = 1; #pragma align 4 int local_array1[5] = {1,2,3,4,5}; #pragma align 8 // alignment value greater than stack alignment int local_array2[5] = {1,2,3,4,5}; }

SHARC Example #pragma align 2 int x; #pragma align 16 int y; #pragma align 2 int global_array1[5] = {1,2,3,4,5}; #pragma align 8 int global_array2[5] = {1,2,3,4,5};

412

Page 413: Compiler Error Messages

int func() { #pragma align 2 int a = 2; #pragma align 16 // alignment value greater than stack alignment int b = 1; #pragma align 2 int local_array1[5] = {1,2,3,4,5}; #pragma align 8 // alignment value greater than stack alignment int local_array2[5] = {1,2,3,4,5}; }

TigerSHARC Example #pragma align 4 int x; #pragma align 16 int y; #pragma align 4 int global_array1[5] = {1,2,3,4,5}; #pragma align 8 int global_array2[5] = {1,2,3,4,5}; int func() { #pragma align 4 int a = 2; #pragma align 16 // alignment value greater than stack alignment int b = 1; #pragma align 4 int local_array1[5] = {1,2,3,4,5}; #pragma align 8 // alignment value greater than stack alignment int local_array2[5] = {1,2,3,4,5}; }

How to Fix

Ensure that, when #pragma align is used for local variables, the alignment value used is not greater than the stack alignment.

For Blackfin processors, this is 4 bytes.

For SHARC processors, this is 2 words.

For TigerSHARC processors, this is 4 words.

Related Information

Refer to the VisualDSP++ C/C++ Compiler and Library Manual for your processor.

cc3146 Driver Error: Unrecognized silicon revision specified, supported revisions are 1.0, 1.1, any, none. Reverting to 1.1.

Description Attempt to invoke the driver with a silicon revision that is not supported.

Severity Discretionary warning.

Recovery The driver issues the warning. It then continues to check the flags passed to it,

413

Page 414: Compiler Error Messages

displaying any other errors or warnings it comes across.

Example ccblkfn –BF533 -c++ test.cpp -silicon-revision 4.8

Issues the warning: cc3146: {D} warning: Unrecognized silicon revision specified, supported revisions are 2.1, 3.0, 3.1, any, none. Reverting to 3.1.

How to Fix

Choose a valid silicon revision.

cc1138 Driver Error: illegal memory qualifier for auto or register variable

Description Memory qualifiers pm and dm cannot be applied to local declarations.

Severity

Error

Recovery

The driver issues the error. It then continues to check the flags passed to it, displaying any other errors or warnings it comes across. The driver then exits without invoking any compilation.

Example int pm global; /* global var is placed in pm memory */ void func() { int pm local; /* error local requires to be on the stack so memory qualification is illegal. */ ... }

How to fix

Remove the memory qualification or make the declaration global.

Related Information

VisualDSP++ 4.0 C/C++ Compiler and Library Manual for SHARC Processors

414

Page 415: Compiler Error Messages

Index

C cc0001 .......................................................................................................................................................... 23 cc0002 .......................................................................................................................................................... 23 cc0003 .......................................................................................................................................................... 23 cc0004 .......................................................................................................................................................... 24 cc0005 .......................................................................................................................................................... 24 cc0006 .......................................................................................................................................................... 25 cc0007 .......................................................................................................................................................... 25 cc0008 .......................................................................................................................................................... 26 cc0009 ........................................................................................................................................................ 335 cc0010 .......................................................................................................................................................... 26 cc0011 ........................................................................................................................................................ 335 cc0012 ........................................................................................................................................................ 336 cc0013 .......................................................................................................................................................... 26 cc0014 .......................................................................................................................................................... 27 cc0016 .......................................................................................................................................................... 28 cc0017 .......................................................................................................................................................... 28 cc0018 .......................................................................................................................................................... 28 cc0019 .......................................................................................................................................................... 29 cc0020 .......................................................................................................................................................... 29 cc0021 ........................................................................................................................................................ 336 cc0022 .......................................................................................................................................................... 29 cc0023 .......................................................................................................................................................... 30 cc0024 .......................................................................................................................................................... 30 cc0025 .......................................................................................................................................................... 31 cc0026 .......................................................................................................................................................... 31 cc0027 .......................................................................................................................................................... 32 cc0028 .......................................................................................................................................................... 32 cc0029 .......................................................................................................................................................... 32 cc0030 .......................................................................................................................................................... 33 cc0031 .......................................................................................................................................................... 33 cc0032 .......................................................................................................................................................... 34 cc0033 .......................................................................................................................................................... 34 cc0034 .......................................................................................................................................................... 35 cc0035 .......................................................................................................................................................... 35 cc0036 .......................................................................................................................................................... 35 cc0037 .......................................................................................................................................................... 36 cc0038 .......................................................................................................................................................... 36 cc0039 ........................................................................................................................................................ 336 cc0040 .......................................................................................................................................................... 37 cc0041 .......................................................................................................................................................... 37 cc0042 .......................................................................................................................................................... 38 cc0044 .......................................................................................................................................................... 38 cc0045 .......................................................................................................................................................... 39 cc0046 .......................................................................................................................................................... 39 cc0047 ........................................................................................................................................................ 337 cc0049 .......................................................................................................................................................... 40 cc0050 .......................................................................................................................................................... 40

415

Page 416: Compiler Error Messages

cc0051 .......................................................................................................................................................... 40 cc0052 .......................................................................................................................................................... 41 cc0053 .......................................................................................................................................................... 41 cc0054 .......................................................................................................................................................... 41 cc0055 .......................................................................................................................................................... 42 cc0056 .......................................................................................................................................................... 42 cc0057 .......................................................................................................................................................... 43 cc0058 .......................................................................................................................................................... 43 cc0059 .......................................................................................................................................................... 44 cc0060 .......................................................................................................................................................... 44 cc0061 ........................................................................................................................................................ 337 cc0062 ........................................................................................................................................................ 338 cc0063 ........................................................................................................................................................ 338 cc0064 ........................................................................................................................................................ 339 cc0065 .......................................................................................................................................................... 45 cc0066 .......................................................................................................................................................... 45 cc0067 .......................................................................................................................................................... 45 cc0068 ........................................................................................................................................................ 339 cc0069 .......................................................................................................................................................... 46 cc0070 .......................................................................................................................................................... 46 cc0071 .......................................................................................................................................................... 47 cc0075 .......................................................................................................................................................... 47 cc0076 ........................................................................................................................................................ 339 cc0077 .......................................................................................................................................................... 48 cc0078 .......................................................................................................................................................... 48 cc0079 .......................................................................................................................................................... 49 cc0080 .......................................................................................................................................................... 50 cc0081 .......................................................................................................................................................... 50 cc0082 ........................................................................................................................................................ 340 cc0083 .......................................................................................................................................................... 50 cc0084 .......................................................................................................................................................... 51 cc0085 .......................................................................................................................................................... 51 cc0086 .......................................................................................................................................................... 52 cc0088 .......................................................................................................................................................... 52 cc0089 .......................................................................................................................................................... 52 cc0090 .......................................................................................................................................................... 53 cc0091 .......................................................................................................................................................... 53 cc0092 .......................................................................................................................................................... 54 cc0093 .......................................................................................................................................................... 54 cc0094 .......................................................................................................................................................... 55 cc0095 .......................................................................................................................................................... 55 cc0096 .......................................................................................................................................................... 56 cc0097 .......................................................................................................................................................... 56 cc0098 .......................................................................................................................................................... 56 cc0099 ........................................................................................................................................................ 340 cc0100 .......................................................................................................................................................... 57 cc0101 .......................................................................................................................................................... 57 cc0102 .......................................................................................................................................................... 58 cc0103 .......................................................................................................................................................... 58 cc0104 .......................................................................................................................................................... 58 cc0105 .......................................................................................................................................................... 59 cc0106 .......................................................................................................................................................... 59 cc0107 .......................................................................................................................................................... 60 cc0108 ........................................................................................................................................................ 341 cc0109 .......................................................................................................................................................... 60 cc0110 .......................................................................................................................................................... 60

416

Page 417: Compiler Error Messages

cc0111 ........................................................................................................................................................ 341 cc0112 .......................................................................................................................................................... 61 cc0114 .......................................................................................................................................................... 62 cc0115 .......................................................................................................................................................... 62 cc0116 .......................................................................................................................................................... 63 cc0117 .......................................................................................................................................................... 64 cc0118 .......................................................................................................................................................... 64 cc0119 .......................................................................................................................................................... 64 cc0120 .......................................................................................................................................................... 65 cc0121 .......................................................................................................................................................... 65 cc0122 .......................................................................................................................................................... 66 cc0123 .......................................................................................................................................................... 67 cc0124 .......................................................................................................................................................... 67 cc0125 .......................................................................................................................................................... 68 cc0126 .......................................................................................................................................................... 68 cc0127 .......................................................................................................................................................... 69 cc0128 ........................................................................................................................................................ 342 cc0129 .......................................................................................................................................................... 70 cc0130 .......................................................................................................................................................... 71 cc0131 .......................................................................................................................................................... 72 cc0132 .......................................................................................................................................................... 72 cc0133 .......................................................................................................................................................... 73 cc0134 .......................................................................................................................................................... 73 cc0135 .......................................................................................................................................................... 74 cc0136 .......................................................................................................................................................... 74 cc0137 .......................................................................................................................................................... 75 cc0138 ........................................................................................................................................................ 342 cc0139 .......................................................................................................................................................... 75 cc0140 .......................................................................................................................................................... 76 cc0141 .......................................................................................................................................................... 77 cc0142 .......................................................................................................................................................... 77 cc0143 .......................................................................................................................................................... 78 cc0144 .......................................................................................................................................................... 78 cc0145 .......................................................................................................................................................... 78 cc0146 .......................................................................................................................................................... 79 cc0147 .......................................................................................................................................................... 79 cc0148 .......................................................................................................................................................... 80 cc0149 .......................................................................................................................................................... 80 cc0153 .......................................................................................................................................................... 81 cc0154 .......................................................................................................................................................... 81 cc0157 .......................................................................................................................................................... 82 cc0158 .......................................................................................................................................................... 82 cc0159 .......................................................................................................................................................... 83 cc0160 .......................................................................................................................................................... 83 cc0161 ........................................................................................................................................................ 343 cc0163 .......................................................................................................................................................... 83 cc0164 .......................................................................................................................................................... 84 cc0165 .......................................................................................................................................................... 84 cc0166 .......................................................................................................................................................... 85 cc0167 .......................................................................................................................................................... 85 cc0168 .......................................................................................................................................................... 86 cc0169 .......................................................................................................................................................... 86 cc0170 .......................................................................................................................................................... 86 cc0171 .......................................................................................................................................................... 87 cc0172 .......................................................................................................................................................... 87 cc0173 ........................................................................................................................................................ 343

417

Page 418: Compiler Error Messages

cc0174 .......................................................................................................................................................... 88 cc0175 ........................................................................................................................................................ 344 cc0177 ........................................................................................................................................................ 344 cc0178 ........................................................................................................................................................ 345 cc0179 ........................................................................................................................................................ 345 cc0180 .......................................................................................................................................................... 89 cc0181 .......................................................................................................................................................... 89 cc0182 .......................................................................................................................................................... 90 cc0183 .......................................................................................................................................................... 90 cc0184 .......................................................................................................................................................... 91 cc0185 ........................................................................................................................................................ 346 cc0186 ........................................................................................................................................................ 346 cc0187 ........................................................................................................................................................ 347 cc0188 ........................................................................................................................................................ 347 cc0189 .......................................................................................................................................................... 91 cc0191 ........................................................................................................................................................ 348 cc0192 ........................................................................................................................................................ 348 cc0193 .......................................................................................................................................................... 91 cc0194 .......................................................................................................................................................... 92 cc0219 .......................................................................................................................................................... 92 cc0220 .......................................................................................................................................................... 93 cc0221 ........................................................................................................................................................ 348 cc0222 ........................................................................................................................................................ 349 cc0223 .......................................................................................................................................................... 93 cc0228 ........................................................................................................................................................ 349 cc0230 ........................................................................................................................................................ 350 cc0231 ........................................................................................................................................................ 350 cc0232 ........................................................................................................................................................ 351 cc0233 ........................................................................................................................................................ 351 cc0234 ........................................................................................................................................................ 352 cc0235 .......................................................................................................................................................... 93 cc0236 .......................................................................................................................................................... 94 cc0237 .......................................................................................................................................................... 94 cc0238 .......................................................................................................................................................... 95 cc0239 .......................................................................................................................................................... 95 cc0240 .......................................................................................................................................................... 96 cc0241 .......................................................................................................................................................... 97 cc0242 .......................................................................................................................................................... 97 cc0243 .......................................................................................................................................................... 98 cc0244 .......................................................................................................................................................... 98 cc0245 .......................................................................................................................................................... 99 cc0246 ........................................................................................................................................................ 100 cc0247 ........................................................................................................................................................ 100 cc0248 ........................................................................................................................................................ 101 cc0249 ........................................................................................................................................................ 101 cc0250 ........................................................................................................................................................ 102 cc0251 ........................................................................................................................................................ 102 cc0252 ........................................................................................................................................................ 103 cc0253 ........................................................................................................................................................ 103 cc0254 ........................................................................................................................................................ 103 cc0255 ........................................................................................................................................................ 104 cc0256 ........................................................................................................................................................ 105 cc0257 ........................................................................................................................................................ 105 cc0258 ........................................................................................................................................................ 106 cc0259 ........................................................................................................................................................ 106 cc0260 ........................................................................................................................................................ 352

418

Page 419: Compiler Error Messages

cc0261 ........................................................................................................................................................ 107 cc0262 ........................................................................................................................................................ 107 cc0263 ........................................................................................................................................................ 108 cc0264 ........................................................................................................................................................ 108 cc0265 ........................................................................................................................................................ 108 cc0266 ........................................................................................................................................................ 109 cc0267 ........................................................................................................................................................ 353 cc0268 ........................................................................................................................................................ 110 cc0269 ........................................................................................................................................................ 110 cc0274 ........................................................................................................................................................ 111 cc0276 ........................................................................................................................................................ 111 cc0277 ........................................................................................................................................................ 112 cc0278 ........................................................................................................................................................ 112 cc0279 ........................................................................................................................................................ 113 cc0280 ........................................................................................................................................................ 113 cc0281 ........................................................................................................................................................ 114 cc0282 ........................................................................................................................................................ 114 cc0283 ........................................................................................................................................................ 115 cc0284 ........................................................................................................................................................ 115 cc0285 ........................................................................................................................................................ 116 cc0286 ........................................................................................................................................................ 116 cc0287 ........................................................................................................................................................ 117 cc0288 ........................................................................................................................................................ 117 cc0289 ........................................................................................................................................................ 118 cc0290 ........................................................................................................................................................ 119 cc0291 ........................................................................................................................................................ 119 cc0292 ........................................................................................................................................................ 120 cc0293 ........................................................................................................................................................ 120 cc0294 ........................................................................................................................................................ 121 cc0296 ........................................................................................................................................................ 122 cc0297 ........................................................................................................................................................ 122 cc0299 ........................................................................................................................................................ 122 cc0300 ........................................................................................................................................................ 123 cc0301 ........................................................................................................................................................ 353 cc0302 ........................................................................................................................................................ 124 cc0304 ........................................................................................................................................................ 124 cc0305 ........................................................................................................................................................ 125 cc0306 ........................................................................................................................................................ 125 cc0307 ........................................................................................................................................................ 126 cc0308 ........................................................................................................................................................ 126 cc0309 ........................................................................................................................................................ 127 cc0310 ........................................................................................................................................................ 127 cc0311 ........................................................................................................................................................ 128 cc0312 ........................................................................................................................................................ 128 cc0313 ........................................................................................................................................................ 129 cc0314 ........................................................................................................................................................ 129 cc0315 ........................................................................................................................................................ 130 cc0316 ........................................................................................................................................................ 130 cc0317 ........................................................................................................................................................ 131 cc0318 ........................................................................................................................................................ 131 cc0319 ........................................................................................................................................................ 132 cc0320 ........................................................................................................................................................ 133 cc0321 ........................................................................................................................................................ 133 cc0322 ........................................................................................................................................................ 134 cc0323 ........................................................................................................................................................ 134 cc0324 ........................................................................................................................................................ 135

419

Page 420: Compiler Error Messages

cc0325 ........................................................................................................................................................ 135 cc0326 ........................................................................................................................................................ 136 cc0327 ........................................................................................................................................................ 136 cc0328 ........................................................................................................................................................ 137 cc0329 ........................................................................................................................................................ 137 cc0330 ........................................................................................................................................................ 138 cc0334 ........................................................................................................................................................ 138 cc0335 ........................................................................................................................................................ 139 cc0336 ........................................................................................................................................................ 139 cc0337 ........................................................................................................................................................ 140 cc0338 ........................................................................................................................................................ 140 cc0339 ........................................................................................................................................................ 141 cc0340 ........................................................................................................................................................ 141 cc0341 ........................................................................................................................................................ 142 cc0342 ........................................................................................................................................................ 142 cc0343 ........................................................................................................................................................ 143 cc0344 ........................................................................................................................................................ 143 cc0345 ........................................................................................................................................................ 144 cc0347 ........................................................................................................................................................ 144 cc0348 ........................................................................................................................................................ 145 cc0349 ........................................................................................................................................................ 145 cc0350 ........................................................................................................................................................ 146 cc0351 ........................................................................................................................................................ 147 cc0352 ........................................................................................................................................................ 147 cc0353 ........................................................................................................................................................ 148 cc0354 ........................................................................................................................................................ 148 cc0357 ........................................................................................................................................................ 148 cc0359 ........................................................................................................................................................ 149 cc0360 ........................................................................................................................................................ 150 cc0362 ........................................................................................................................................................ 353 cc0363 ........................................................................................................................................................ 150 cc0364 ........................................................................................................................................................ 151 cc0365 ........................................................................................................................................................ 151 cc0366 ........................................................................................................................................................ 151 cc0367 ........................................................................................................................................................ 152 cc0368 ........................................................................................................................................................ 354 cc0369 ........................................................................................................................................................ 153 cc0370 ........................................................................................................................................................ 354 cc0371 ........................................................................................................................................................ 153 cc0372 ........................................................................................................................................................ 154 cc0375 ........................................................................................................................................................ 355 cc0377 ........................................................................................................................................................ 154 cc0378 ........................................................................................................................................................ 154 cc0379 ........................................................................................................................................................ 355 cc0380 ........................................................................................................................................................ 155 cc0381 ........................................................................................................................................................ 155 cc0382 ........................................................................................................................................................ 156 cc0384 ........................................................................................................................................................ 156 cc0386 ........................................................................................................................................................ 157 cc0387 ........................................................................................................................................................ 356 cc0388 ........................................................................................................................................................ 158 cc0389 ........................................................................................................................................................ 158 cc0390 ........................................................................................................................................................ 159 cc0391 ........................................................................................................................................................ 159 cc0392 ........................................................................................................................................................ 160 cc0393 ........................................................................................................................................................ 160

420

Page 421: Compiler Error Messages

cc0394 ........................................................................................................................................................ 161 cc0397 ........................................................................................................................................................ 162 cc0399 ........................................................................................................................................................ 162 cc0400 ........................................................................................................................................................ 163 cc0401 ........................................................................................................................................................ 163 cc0403 ........................................................................................................................................................ 164 cc0404 ........................................................................................................................................................ 164 cc0405 ........................................................................................................................................................ 165 cc0406 ........................................................................................................................................................ 165 cc0407 ........................................................................................................................................................ 166 cc0408 ........................................................................................................................................................ 166 cc0409 ........................................................................................................................................................ 167 cc0410 ........................................................................................................................................................ 168 cc0411 ........................................................................................................................................................ 168 cc0412 ........................................................................................................................................................ 169 cc0413 ........................................................................................................................................................ 169 cc0414 ........................................................................................................................................................ 356 cc0415 ........................................................................................................................................................ 170 cc0416 ........................................................................................................................................................ 170 cc0417 ........................................................................................................................................................ 171 cc0418 ........................................................................................................................................................ 172 cc0424 ........................................................................................................................................................ 172 cc0425 ........................................................................................................................................................ 173 cc0426 ........................................................................................................................................................ 356 cc0427 ........................................................................................................................................................ 173 cc0428 ........................................................................................................................................................ 357 cc0429 ........................................................................................................................................................ 174 cc0432 ........................................................................................................................................................ 174 cc0433 ........................................................................................................................................................ 175 cc0434 ........................................................................................................................................................ 175 cc0435 ........................................................................................................................................................ 176 cc0436 ........................................................................................................................................................ 176 cc0437 ........................................................................................................................................................ 177 cc0438 ........................................................................................................................................................ 177 cc0439 ........................................................................................................................................................ 178 cc0440 ........................................................................................................................................................ 178 cc0441 ........................................................................................................................................................ 179 cc0442 ........................................................................................................................................................ 179 cc0443 ........................................................................................................................................................ 180 cc0445 ........................................................................................................................................................ 181 cc0450 ........................................................................................................................................................ 181 cc0451 ........................................................................................................................................................ 182 cc0452 ........................................................................................................................................................ 182 cc0456 ........................................................................................................................................................ 183 cc0457 ........................................................................................................................................................ 183 cc0458 ........................................................................................................................................................ 184 cc0459 ........................................................................................................................................................ 184 cc0461 ........................................................................................................................................................ 358 cc0463 ........................................................................................................................................................ 185 cc0464 ........................................................................................................................................................ 185 cc0466 ........................................................................................................................................................ 186 cc0467 ........................................................................................................................................................ 186 cc0468 ........................................................................................................................................................ 187 cc0469 ........................................................................................................................................................ 187 cc0470 ........................................................................................................................................................ 188 cc0471 ........................................................................................................................................................ 188

421

Page 422: Compiler Error Messages

cc0472 ........................................................................................................................................................ 189 cc0475 ........................................................................................................................................................ 189 cc0476 ........................................................................................................................................................ 190 cc0479 ........................................................................................................................................................ 190 cc0481 ........................................................................................................................................................ 191 cc0482 ........................................................................................................................................................ 358 cc0484 ........................................................................................................................................................ 191 cc0485 ........................................................................................................................................................ 192 cc0487 ........................................................................................................................................................ 192 cc0489 ........................................................................................................................................................ 193 cc0493 ........................................................................................................................................................ 193 cc0494 ........................................................................................................................................................ 359 cc0496 ........................................................................................................................................................ 194 cc0497 ........................................................................................................................................................ 359 cc0498 ........................................................................................................................................................ 194 cc0500 ........................................................................................................................................................ 195 cc0501 ........................................................................................................................................................ 195 cc0502 ........................................................................................................................................................ 196 cc0503 ........................................................................................................................................................ 196 cc0504 ........................................................................................................................................................ 197 cc0505 ........................................................................................................................................................ 198 cc0506 ........................................................................................................................................................ 198 cc0507 ........................................................................................................................................................ 198 cc0508 ........................................................................................................................................................ 199 cc0510 ........................................................................................................................................................ 199 cc0511 ........................................................................................................................................................ 200 cc0512 ........................................................................................................................................................ 200 cc0513 ........................................................................................................................................................ 201 cc0514 ........................................................................................................................................................ 360 cc0515 ........................................................................................................................................................ 201 cc0516 ........................................................................................................................................................ 202 cc0517 ........................................................................................................................................................ 202 cc0518 ........................................................................................................................................................ 203 cc0519 ........................................................................................................................................................ 203 cc0520 ........................................................................................................................................................ 204 cc0540 ........................................................................................................................................................ 204 cc0546 ........................................................................................................................................................ 205 cc0548 ........................................................................................................................................................ 206 cc0549 ........................................................................................................................................................ 360 cc0550 ........................................................................................................................................................ 206 cc0551 ........................................................................................................................................................ 207 cc0552 ........................................................................................................................................................ 361 cc0553 ........................................................................................................................................................ 361 cc0554 ........................................................................................................................................................ 362 cc0555 ........................................................................................................................................................ 208 cc0556 ........................................................................................................................................................ 208 cc0558 ........................................................................................................................................................ 209 cc0559 ........................................................................................................................................................ 209 cc0560 ........................................................................................................................................................ 210 cc0598 ........................................................................................................................................................ 210 cc0601 ........................................................................................................................................................ 211 cc0603 ........................................................................................................................................................ 211 cc0604 ........................................................................................................................................................ 212 cc0605 ........................................................................................................................................................ 212 cc0606 ........................................................................................................................................................ 213 cc0607 ........................................................................................................................................................ 213

422

Page 423: Compiler Error Messages

cc0608 ........................................................................................................................................................ 362 cc0609 ........................................................................................................................................................ 214 cc0610 ........................................................................................................................................................ 363 cc0611 ........................................................................................................................................................ 214 cc0612 ........................................................................................................................................................ 215 cc0615 ........................................................................................................................................................ 215 cc0616 ........................................................................................................................................................ 216 cc0617 ........................................................................................................................................................ 363 cc0618 ........................................................................................................................................................ 364 cc0624 ........................................................................................................................................................ 216 cc0631 ........................................................................................................................................................ 217 cc0643 ........................................................................................................................................................ 217 cc0644 ........................................................................................................................................................ 218 cc0656 ........................................................................................................................................................ 218 cc0657 ........................................................................................................................................................ 364 cc0658 ........................................................................................................................................................ 219 cc0660 ........................................................................................................................................................ 219 cc0661 ........................................................................................................................................................ 220 cc0663 ........................................................................................................................................................ 220 cc0664 ........................................................................................................................................................ 220 cc0666 ........................................................................................................................................................ 221 cc0668 ........................................................................................................................................................ 221 cc0672 ........................................................................................................................................................ 222 cc0673 ........................................................................................................................................................ 222 cc0674 ........................................................................................................................................................ 223 cc0676 ........................................................................................................................................................ 365 cc0678 ........................................................................................................................................................ 224 cc0679 ........................................................................................................................................................ 224 cc0682 ........................................................................................................................................................ 224 cc0691 ........................................................................................................................................................ 225 cc0692 ........................................................................................................................................................ 225 cc0693 ........................................................................................................................................................ 226 cc0694 ........................................................................................................................................................ 226 cc0695 ........................................................................................................................................................ 227 cc0696 ........................................................................................................................................................ 227 cc0697 ........................................................................................................................................................ 228 cc0698 ........................................................................................................................................................ 229 cc0701 ........................................................................................................................................................ 229 cc0702 ........................................................................................................................................................ 230 cc0703 ........................................................................................................................................................ 230 cc0704 ........................................................................................................................................................ 231 cc0705 ........................................................................................................................................................ 231 cc0706 ........................................................................................................................................................ 232 cc0708 ........................................................................................................................................................ 232 cc0709 ........................................................................................................................................................ 233 cc0711 ........................................................................................................................................................ 233 cc0713 ........................................................................................................................................................ 234 cc0714 ........................................................................................................................................................ 234 cc0715 ........................................................................................................................................................ 365 cc0716 ........................................................................................................................................................ 234 cc0717 ........................................................................................................................................................ 235 cc0718 ........................................................................................................................................................ 235 cc0719 ........................................................................................................................................................ 236 cc0722 ........................................................................................................................................................ 366 cc0723 ........................................................................................................................................................ 366 cc0724 ........................................................................................................................................................ 236

423

Page 424: Compiler Error Messages

cc0725 ........................................................................................................................................................ 237 cc0727 ........................................................................................................................................................ 237 cc0728 ........................................................................................................................................................ 238 cc0729 ........................................................................................................................................................ 367 cc0731 ........................................................................................................................................................ 238 cc0732 ........................................................................................................................................................ 239 cc0733 ........................................................................................................................................................ 239 cc0734 ........................................................................................................................................................ 240 cc0735 ........................................................................................................................................................ 240 cc0737 ........................................................................................................................................................ 367 cc0738 ........................................................................................................................................................ 241 cc0742 ........................................................................................................................................................ 242 cc0744 ........................................................................................................................................................ 242 cc0745 ........................................................................................................................................................ 242 cc0746 ........................................................................................................................................................ 243 cc0747 ........................................................................................................................................................ 243 cc0748 ........................................................................................................................................................ 244 cc0749 ........................................................................................................................................................ 244 cc0751 ........................................................................................................................................................ 245 cc0752 ........................................................................................................................................................ 245 cc0753 ........................................................................................................................................................ 246 cc0754 ........................................................................................................................................................ 246 cc0755 ........................................................................................................................................................ 247 cc0756 ........................................................................................................................................................ 247 cc0757 ........................................................................................................................................................ 248 cc0758 ........................................................................................................................................................ 249 cc0759 ........................................................................................................................................................ 249 cc0760 ........................................................................................................................................................ 250 cc0761 ........................................................................................................................................................ 250 cc0769 ........................................................................................................................................................ 251 cc0771 ........................................................................................................................................................ 252 cc0772 ........................................................................................................................................................ 252 cc0774 ........................................................................................................................................................ 252 cc0775 ........................................................................................................................................................ 253 cc0777 ........................................................................................................................................................ 253 cc0779 ........................................................................................................................................................ 254 cc0782 ........................................................................................................................................................ 255 cc0783 ........................................................................................................................................................ 368 cc0784 ........................................................................................................................................................ 255 cc0787 ........................................................................................................................................................ 256 cc0788 ........................................................................................................................................................ 256 cc0790 ........................................................................................................................................................ 257 cc0791 ........................................................................................................................................................ 257 cc0792 ........................................................................................................................................................ 258 cc0793 ........................................................................................................................................................ 258 cc0794 ........................................................................................................................................................ 259 cc0800 ........................................................................................................................................................ 259 cc0801 ........................................................................................................................................................ 260 cc0802 ........................................................................................................................................................ 261 cc0803 ........................................................................................................................................................ 261 cc0804 ........................................................................................................................................................ 262 cc0810 ........................................................................................................................................................ 262 cc0811 ........................................................................................................................................................ 263 cc0812 ........................................................................................................................................................ 264 cc0815 ........................................................................................................................................................ 264 cc0816 ........................................................................................................................................................ 265

424

Page 425: Compiler Error Messages

cc0817 ........................................................................................................................................................ 265 cc0818 ........................................................................................................................................................ 266 cc0819 ........................................................................................................................................................ 266 cc0821 ........................................................................................................................................................ 267 cc0822 ........................................................................................................................................................ 267 cc0824 ........................................................................................................................................................ 268 cc0825 ........................................................................................................................................................ 268 cc0827 ........................................................................................................................................................ 269 cc0828 ........................................................................................................................................................ 269 cc0830 ........................................................................................................................................................ 368 cc0831 ........................................................................................................................................................ 369 cc0832 ........................................................................................................................................................ 270 cc0833 ........................................................................................................................................................ 270 cc0834 ........................................................................................................................................................ 271 cc0835 ........................................................................................................................................................ 271 cc0836 ........................................................................................................................................................ 369 cc0837 ........................................................................................................................................................ 370 cc0838 ........................................................................................................................................................ 370 cc0840 ........................................................................................................................................................ 272 cc0841 ........................................................................................................................................................ 272 cc0842 ........................................................................................................................................................ 273 cc0843 ........................................................................................................................................................ 273 cc0844 ........................................................................................................................................................ 274 cc0845 ........................................................................................................................................................ 274 cc0846 ........................................................................................................................................................ 274 cc0847 ........................................................................................................................................................ 275 cc0848 ........................................................................................................................................................ 275 cc0849 ........................................................................................................................................................ 276 cc0850 ........................................................................................................................................................ 277 cc0851 ........................................................................................................................................................ 277 cc0852 ........................................................................................................................................................ 277 cc0854 ........................................................................................................................................................ 278 cc0855 ........................................................................................................................................................ 279 cc0857 ........................................................................................................................................................ 279 cc0858 ........................................................................................................................................................ 280 cc0859 ........................................................................................................................................................ 281 cc0860 ........................................................................................................................................................ 371 cc0861 ........................................................................................................................................................ 281 cc0862 ........................................................................................................................................................ 282 cc0863 ........................................................................................................................................................ 282 cc0864 ........................................................................................................................................................ 283 cc0865 ........................................................................................................................................................ 283 cc0866 ........................................................................................................................................................ 284 cc0867 ........................................................................................................................................................ 372 cc0868 ........................................................................................................................................................ 284 cc0869 ........................................................................................................................................................ 285 cc0870 ........................................................................................................................................................ 372 cc0871 ........................................................................................................................................................ 285 cc0872 ........................................................................................................................................................ 285 cc0873 ........................................................................................................................................................ 286 cc0884 ........................................................................................................................................................ 286 cc0885 ........................................................................................................................................................ 286 cc0886 ........................................................................................................................................................ 287 cc0887 ........................................................................................................................................................ 287 cc0888 ........................................................................................................................................................ 288 cc0890 ........................................................................................................................................................ 288

425

Page 426: Compiler Error Messages

cc0891 ........................................................................................................................................................ 288 cc0892 ........................................................................................................................................................ 289 cc0893 ........................................................................................................................................................ 289 cc0894 ........................................................................................................................................................ 290 cc0896 ........................................................................................................................................................ 290 cc0898 ........................................................................................................................................................ 290 cc0901 ........................................................................................................................................................ 291 cc0902 ........................................................................................................................................................ 372 cc0905 ........................................................................................................................................................ 292 cc0906 ........................................................................................................................................................ 292 cc0907 ........................................................................................................................................................ 293 cc0908 ........................................................................................................................................................ 293 cc0909 ........................................................................................................................................................ 294 cc0910 ........................................................................................................................................................ 294 cc0911 ........................................................................................................................................................ 294 cc0913 ........................................................................................................................................................ 295 cc0914 ........................................................................................................................................................ 295 cc0915 ........................................................................................................................................................ 296 cc0916 ........................................................................................................................................................ 296 cc0919 ........................................................................................................................................................ 297 cc0920 ........................................................................................................................................................ 297 cc0925 ........................................................................................................................................................ 297 cc0926 ........................................................................................................................................................ 298 cc0928 ........................................................................................................................................................ 298 cc0929 ........................................................................................................................................................ 299 cc0930 ........................................................................................................................................................ 299 cc0940 ........................................................................................................................................................ 373 cc0941 ........................................................................................................................................................ 373 cc0942 ........................................................................................................................................................ 299 cc0979 ........................................................................................................................................................ 300 cc1039 ........................................................................................................................................................ 374 cc1041 ........................................................................................................................................................ 374 cc1043 ........................................................................................................................................................ 375 cc1045 ........................................................................................................................................................ 375 cc1073 ........................................................................................................................................................ 376 cc1074 ........................................................................................................................................................ 376 cc1080 ........................................................................................................................................................ 377 cc1086 ........................................................................................................................................................ 300 cc1097 ........................................................................................................................................................ 300 cc1100 ........................................................................................................................................................ 301 cc1101 ........................................................................................................................................................ 301 cc1102 ........................................................................................................................................................ 302 cc1103 ........................................................................................................................................................ 302 cc1110 ........................................................................................................................................................ 303 cc1112 ........................................................................................................................................................ 303 cc1113 ........................................................................................................................................................ 304 cc1114 ........................................................................................................................................................ 377 cc1115 ........................................................................................................................................................ 304 cc1117 ........................................................................................................................................................ 304 cc1123 ........................................................................................................................................................ 330 cc1127 ........................................................................................................................................................ 377 cc1138 ........................................................................................................................................................ 405 cc1151 ........................................................................................................................................................ 305 cc1164 ........................................................................................................................................................ 378 cc1197 ........................................................................................................................................................ 306 cc1200 ........................................................................................................................................................ 306

426

Page 427: Compiler Error Messages

cc1208 ........................................................................................................................................................ 307 cc1209 ........................................................................................................................................................ 307 cc1211 ........................................................................................................................................................ 308 cc1213 ........................................................................................................................................................ 308 cc1219 ........................................................................................................................................................ 309 cc1230 ........................................................................................................................................................ 309 cc1268 ........................................................................................................................................................ 378 cc1269 ........................................................................................................................................................ 379 cc1305 ........................................................................................................................................................ 379 cc1310 ........................................................................................................................................................ 379 cc1319 ........................................................................................................................................................ 310 cc1327 ........................................................................................................................................................ 310 cc1343 ........................................................................................................................................................ 311 cc1355 ........................................................................................................................................................ 380 cc1367 ........................................................................................................................................................ 380 cc1368 ........................................................................................................................................................ 381 cc1371 ........................................................................................................................................................ 381 cc1374 ........................................................................................................................................................ 382 cc1427 ........................................................................................................................................................ 311 cc1428 ........................................................................................................................................................ 312 cc1440 ........................................................................................................................................................ 382 cc1441 ........................................................................................................................................................ 383 cc1442 ........................................................................................................................................................ 384 cc1443 ........................................................................................................................................................ 384 cc1444 ........................................................................................................................................................ 385 cc1445 ........................................................................................................................................................ 386 cc1446 ........................................................................................................................................................ 387 cc1447 ........................................................................................................................................................ 387 cc1448 ........................................................................................................................................................ 388 cc1467 ........................................................................................................................................................ 389 cc1468 ........................................................................................................................................................ 312 cc1469 ........................................................................................................................................................ 312 cc1470 ........................................................................................................................................................ 389 cc1471 ........................................................................................................................................................ 313 cc1472 ........................................................................................................................................................ 330 cc1473 ........................................................................................................................................................ 331 cc1474 ........................................................................................................................................................ 331 cc1475 ........................................................................................................................................................ 313 cc1476 ........................................................................................................................................................ 314 cc1477 ........................................................................................................................................................ 314 cc1478 ........................................................................................................................................................ 315 cc1479 ........................................................................................................................................................ 315 cc1480 ........................................................................................................................................................ 316 cc1481 ........................................................................................................................................................ 316 cc1482 ........................................................................................................................................................ 390 cc1483 ........................................................................................................................................................ 317 cc1484 ........................................................................................................................................................ 317 cc1485 ........................................................................................................................................................ 317 cc1486 ........................................................................................................................................................ 318 cc1487 ........................................................................................................................................................ 318 cc1488 ........................................................................................................................................................ 318 cc1489 ........................................................................................................................................................ 319 cc1490 ........................................................................................................................................................ 319 cc1491 ........................................................................................................................................................ 319 cc1492 ........................................................................................................................................................ 320 cc1493 ........................................................................................................................................................ 320

427

Page 428: Compiler Error Messages

cc1494 ........................................................................................................................................................ 321 cc1495 ........................................................................................................................................................ 321 cc1496 ........................................................................................................................................................ 322 cc1633 ........................................................................................................................................................ 390 cc1634 ........................................................................................................................................................ 322 cc1635 ........................................................................................................................................................ 391 cc1638 ........................................................................................................................................................ 392 cc1639 ........................................................................................................................................................ 392 cc1640 ........................................................................................................................................................ 393 cc1643 ........................................................................................................................................................ 322 cc1644 ........................................................................................................................................................ 393 cc1645 ........................................................................................................................................................ 394 cc1646 ........................................................................................................................................................ 394 cc1647 ........................................................................................................................................................ 323 cc1648 ........................................................................................................................................................ 323 cc1649 ........................................................................................................................................................ 324 cc1651 ........................................................................................................................................................ 395 cc1652 ........................................................................................................................................................ 324 cc1654 ........................................................................................................................................................ 395 cc1658 ........................................................................................................................................................ 396 cc1661 ........................................................................................................................................................ 396 cc1665 ........................................................................................................................................................ 397 cc1667 ........................................................................................................................................................ 397 cc1668 ........................................................................................................................................................ 325 cc1732 ........................................................................................................................................................ 326 cc1733 ........................................................................................................................................................ 326 cc1734 ........................................................................................................................................................ 398 cc1736 ........................................................................................................................................................ 332 cc1737 ........................................................................................................................................................ 398 cc1742 ........................................................................................................................................................ 327 cc1743 ........................................................................................................................................................ 327 cc1744 ........................................................................................................................................................ 327 cc1745 ........................................................................................................................................................ 401 cc1746 ........................................................................................................................................................ 402 cc1747 ........................................................................................................................................................ 328 cc1748 ........................................................................................................................................................ 328 cc1749 ........................................................................................................................................................ 402 cc3089 ........................................................................................................................................................ 329 cc3146 ........................................................................................................................................................ 404 cc3150 ........................................................................................................................................................ 330 compiler errors ............................................ 300, 301, 302, 303, 304, 306, 307, 308, 309, 310, 311, 312, 405

"asm" must be used with a function definition ....................................................................................... 221 "entity" is ambiguous.............................................................................................................................. 109 "entity" is reserved for future use as a keyword ..................................................................................... 210 "entity-kind "entity" returns incomplete type "type" .............................................................................. 167 "enum" declaration is not allowed.......................................................................................................... 174 "inline" is not allowed ............................................................................................................................ 136 "main" is not a valid name for a function template ................................................................................ 186 "operator->" for class "type" returns invalid type "type"........................................................................ 158 "operatorxxxx" must be a member function ........................................................................................... 142 "restrict" is not allowed .......................................................................................................................... 217 "static" is not allowed............................................................................................................................. 154 "template" is not allowed........................................................................................................................ 185 "this" may only be used inside a non-static member function................................................................ 106 "type" is not a class template .................................................................................................................. 185 "xxxx"

428

Page 429: Compiler Error Messages

declared in condition may not be redeclared in this scope................................................................................................ 231

"xxxx" is not a function or static data member....................................................................................... 183 "xxxx" is not a non-static data member or base class of class "type"..................................................... 120 "xxxx" is not a type name....................................................................................................................... 216 ## may not be first in a macro definition.................................................................................................. 40 ## may not be last in a macro definition................................................................................................... 40 #error directive

xxxx...................................................................................................................................................... 35 #include file xxxx includes itself.............................................................................................................. 23 #undef may not be used on this predefined name..................................................................................... 39 __based modifier is not allowed here ..................................................................................................... 234 <typeinfo> must be included before typeid is used ................................................................................ 226 a __leave statement may only be used within a __try ............................................................................ 224 a block-scope function can have only extern storage class....................................................................... 70 a cast to abstract class "type" is not allowed .......................................................................................... 158 a class template cannot be defined in a friend declaration...................................................................... 220 a class-qualified name is not allowed ..................................................................................................... 246 a class-qualified name is required .......................................................................................................... 241 a const_cast adjusts only type qualifiers

not the underlying type....................................................................................................................... 235 a constructor or destructor may not have its address taken .................................................................... 172 a constructor or destructor may not return a value ................................................................................. 112 a continue statement must be in loop........................................................................................................ 62 a declaration here must declare a parameter........................................................................................... 340 a destructor may not have parameters .................................................................................................... 166 a friend declaration may not declare a partial specialization .................................................................. 283 a function cannot return a value of this type............................................................................................. 56 a function type is not allowed here ........................................................................................................... 86 a global-scope declaration cannot have this storage class ........................................................................ 80 a namespace name is not allowed........................................................................................................... 238 a new-initializer may not be specified for an array................................................................................. 159 a nonstatic data member cannot be defined outside its class .............................................................99, 100 a parameter declaration cannot have an initializer.................................................................................... 48 a parameter is not allowed...................................................................................................................... 168 a partial specialization nontype argument must be the name of a nontype parameter or a constant....... 278 a partial specialization of a class template must be declared in the namespace of which it is a member279 a pointer or reference to function type may not be qualified by "restrict".............................................. 218 a pointer to a bound function may only be used to call the function ...................................................... 123 a pointer to function may not be deleted ................................................................................................ 176 a pound # character is not expected here .................................................................................................. 26 a qualified name is not allowed for a friend declaration that is a function definition............................. 308 a reference of type "type" (not const-qualified) cannot be initialized with a value of type "type"......... 175 a reference of type "type" cannot be initialized with a value of type "type" .......................................... 222 a segment name has already been specified............................................................................................ 296 a storage class cannot be specified here ................................................................................................... 50 a storage class is not allowed in a friend declaration.............................................................................. 255 a storage class may not be specified here ............................................................................................... 308 a template argument cannot refer to an unnamed type ........................................................................... 199 a template argument list is not allowed in a declaration of a primary template...................................... 272 a template argument may not reference a local type............................................................................... 187 a template argument may not reference a non-external entity ................................................................ 189 a template declaration containing a template parameter list may not be followed by an explicit

specialization declaration ................................................................................................................... 256 a template parameter may not have void type ........................................................................................ 210 a template template parameter cannot have the same name as one of its template parameters .............. 309

429

Page 430: Compiler Error Messages

a template-id is not allowed.................................................................................................................... 246 a throw expression may not have void type............................................................................................ 211 A translation unit must contain at least one declaration ........................................................................... 56 a type qualifier cannot be applied to a function type .............................................................................. 297 a type qualifier is not allowed................................................................................................................. 244 a union is not allowed to have a base class............................................................................................... 97 a value of type "type" cannot be assigned to an entity of type "type" .................................................... 201 a value of type type cannot be used to initialize an entity of type type .................................................... 78 a variable length array cannot have static storage duration .................................................................... 289 A void function cannot return a value ...................................................................................................... 64 abstract class type X is not allowed as catch type

function X f is a pure virtual function........................................................................................................... 306

access control not specified xxxx by default .......................................................................................... 107 allocation function requires "void *" return type.................................................................................... 147 allocation operator may not be declared in namespace .......................................................................... 239 ambiguous guiding declaration -- more than one function template entity matches type type............... 285 an "asm" declaration is not allowed here................................................................................................ 169 an array cannot have elements of this type............................................................................................... 56 an array type is not allowed here ............................................................................................................ 229 an entity with linkage cannot have a variably modified type ................................................................. 289 an explicit template argument list is not allowed on this declaration ..................................................... 288 anonymous union at global or namespace scope must be declared static............................................... 151 argument is incompatible with corresponding format string conversion.................................................. 89 argument is incompatible with formal parameter ..................................................................................... 89 argument list for entity-kind "entity" is missing..................................................................................... 179 argument of type "type" is incompatible with template parameter of type "type".................................. 184 argument of type type is incompatible with parameter of type type......................................................... 85 Argument to macro is empty .................................................................................................................. 339 array is too large ....................................................................................................................................... 55 array of abstract class type "type" is not allowed ................................................................................... 212 array of functions is not allowed .............................................................................................................. 52 array of reference is not allowed ............................................................................................................ 102 array of void is not allowed ...................................................................................................................... 52 array with incomplete element type is non-standard .............................................................................. 238 bad storage class for an inline function .................................................................................................. 136 badly-formed pure specifier (only "=0" is allowed) ............................................................................... 133 base class "type" has already been initialized......................................................................................... 148 base class type is ambiguous .................................................................................................................. 116 bool type is not allowed.......................................................................................................................... 233 call of entity-kind "entity" declared at line xxxx cannot be inlined........................................................ 224 cannot convert pointer to base class type to pointer to derived class type -- base class is virtual .......... 117 cannot convert pointer to member of base class type to pointer to member of derived class type -- base

class virtual......................................................................................................................................... 262 cannot convert pointer to member of derived class type to pointer to member of base class type -- base

class is virtual ..................................................................................................................................... 296 cannot convert to incomplete class "type".............................................................................................. 201 cannot determine which instance of entity-kind entity is intended......................................................... 122 cannot open list file

xxxx.................................................................................................................................................... 298 cannot open output file

xxxx.................................................................................................................................................... 297 cannot overload functions distinguished by return type alone................................................................ 128 case label value has already appeared in this switch ................................................................................ 67 cast to type type is not allowed................................................................................................................. 64 character value is out of range.............................................................................................................30, 32

430

Page 431: Compiler Error Messages

class "type" has more than one default constructor ................................................................................ 141 class "type" has no assignment operator to copy a const object ............................................................. 153 class "type" has no suitable assignment operator ................................................................................... 154 class "type" has no suitable copy constructor ......................................................................................... 138 class is too large ....................................................................................................................................... 58 class or struct definition is missing........................................................................................................... 98 class template and template parameter cannot have the same name....................................................... 199 closing brace of template is missing....................................................................................................... 219 comment unclosed at the end of the file ................................................................................................... 25 const entity-kind entity requires an initializer ........................................................................................ 105 const entity-type entity requires an initializer -- class type has no explicitly declared default constructor

............................................................................................................................................................ 263 const object requires an initializer .......................................................................................................... 202 const object requires an initializer -- class type has no explicitly declared default constructor ............. 264 constant value is not known.................................................................................................................... 106 constraint for asm output operand must use = ........................................................................................ 302 controlling expression is constant............................................................................................................. 94 conversion function must be a nonstatic member function .................................................................... 176 copy constructor for class "type" may not have a parameter of type "type"........................................... 166 copy constructor for class type is ambiguous ......................................................................................... 119 could not open source file xxxx................................................................................................................ 24 could not open source file xxxx - no directories in search list.................................................................. 90 could not open temporary file xxxx.......................................................................................................... 83 could not set locale xxxx to allow processing of multibyte characters................................................... 285 data member initializer is not allowed.................................................................................................... 133 deallocation function requires "void" return type................................................................................... 148 deallocation operator may not be declared in namespace....................................................................... 239 declaration conflicts with xxxx

reserved class name ............................................................................................................................ 252 declaration does not declare anything..................................................................................................... 339 declaration is incompatible with entity-kind entity declared at line xxxx ................................................ 79 declaration is incompatible with previous entity declared at line xxx...................................................... 83 declaration is not visible outside of function .......................................................................................... 350 declaration may not appear after executable statement in block ............................................................ 110 declaration of a member with the same name as its class....................................................................... 113 declspec[allocate] is not allowed in this declaration............................................................................... 295 declspec[property] is not allowed on this declaration............................................................................. 293 default argument is not allowed.............................................................................................................. 144 default argument not at end of parameter list ......................................................................................... 125 default argument of type type is incompatible with parameter of type type........................................... 127 default label has already appeared in this switch...................................................................................... 67 default template arguments are not allowed for function templates ....................................................... 231 definition of virtual entity-kind entity is required here........................................................................... 255 derived class type contains more than one instance of class type........................................................... 117 destructor for base class "type" is not virtual ......................................................................................... 163 destructor reference is ambiguous -- both entity-kind entity and entity-kind entity could be used ........ 268 directive is not allowed -- an #else has already appeared......................................................................... 36 division by zero ...................................................................................................................................... 336 dollar sign ("$") used in identifier .......................................................................................................... 173 duplicate base class name....................................................................................................................... 108 duplicate friend declaration .................................................................................................................... 135 duplicate macro parameter name.............................................................................................................. 40 duplicate parameter name......................................................................................................................... 57 duplicate specifier in declaration.............................................................................................................. 96 duplicate using-declaration of entity ignored ......................................................................................... 373 dynamic initialization in unreachable code ............................................................................................ 346

431

Page 432: Compiler Error Messages

effect of this #pragma pack directive is local to entity-kind entity......................................................... 282 ellipsis is not allowed ............................................................................................................................. 266 ellipsis is not allowed in operator function parameter list ...................................................................... 209 ellipsis with no explicit parameters is nonstandard ................................................................................ 221 entity

implicitly called from entity-kind entity is ambiguous................................................................................................................................... 251

entity-kind "entity" required for copy that was eliminated

is inaccessible ................................................................................................................................. 225 is not callable because reference parameter cannot be bound to rvalue.......................................... 225

entity-kind "entity" cannot be defined in the current scope.................................................................... 207 entity-kind "entity" cannot be inlined..................................................................................................... 224 entity-kind "entity" cannot be instantiated -- no template definition was supplied ................................ 193 entity-kind "entity" cannot be specialized in the current scope .............................................................. 196 entity-kind "entity" cannot have a template argument list ...................................................................... 203 entity-kind "entity" has a default operator deletexxxx() but no operator newxxxx() ............................. 163 entity-kind "entity" has already been declared ....................................................................................... 164 entity-kind "entity" has already been initialized..................................................................................... 149 entity-kind "entity" has an operator newxxxx() but no operator deletexxxx() ....................................... 162 entity-kind "entity" has an uninitialized const or reference member...................................................... 153 entity-kind "entity" has no tag member named "xxxx" .......................................................................... 188 entity-kind "entity" is inaccessible ......................................................................................................... 138 entity-kind "entity" is not a variable name ............................................................................................. 234 entity-kind "entity" is not an entity that can be instantiated ................................................................... 192 entity-kind "entity" is not used in declaring the parameter types of entity-kind "entity" ....................... 181 entity-kind "entity" provides no initializer for........................................................................................ 151 entity-kind "entity" redeclared "inline" after being called...................................................................... 190 entity-kind "entity" was set but never used ............................................................................................ 206 entity-kind entity cannot be explicitly instantiated in the current scope................................................. 249 entity-kind entity cannot be initialized ..................................................................................................... 78 entity-kind entity conflicts with using declaration of entity-kind entity................................................. 240 entity-kind entity explicitly instantiated more than once........................................................................ 250 entity-kind entity has already been defined .....................................................................................100, 124 entity-kind entity has already been initialized .......................................................................................... 80 entity-kind entity has no actual member xxxx........................................................................................ 242 entity-kind entity has no field xxxx.......................................................................................................... 74 entity-kind entity has no member xxxx .................................................................................................... 74 entity-kind entity is a pure virtual function ............................................................................................ 280 entity-kind entity is inaccessible............................................................................................................. 108 entity-kind entity is not a template ......................................................................................................... 290 entity-kind entity is not a type name....................................................................................................... 248 entity-kind entity is not an entity that can be explicitly specialized ....................................................... 258 entity-kind entity is not used in template argument list of entity-kind entity ......................................... 273 entity-kind entity may not be redeclared in the current scope ................................................................ 247 entity-kind entity was declared but never referred to ............................................................................. 344 entity-kind entity was referred to but not defined..................................................................................... 62 enumerated type is not allowed .............................................................................................................. 200 enumeration value is out of int range ....................................................................................................... 45 error while deleting file xxxx ................................................................................................................... 92 error while writing xxxx file..................................................................................................................... 91 exception specification ignored .............................................................................................................. 284 excessive recursion at instantiation of entity-kind "entity" .................................................................... 183 expected a

character ............................................................................................................................................... 41 expected a "

432

Page 433: Compiler Error Messages

" or ">" ............................................................................................................................................... 232 expected a "<" ........................................................................................................................................ 177 expected a ">" ........................................................................................................................................ 178 Expected a { ............................................................................................................................................. 71 expected a } character............................................................................................................................... 45 expected a comma .................................................................................................................................. 103 expected a declaration .............................................................................................................................. 86 expected a declarator in condition declaration ....................................................................................... 230 expected a field name ............................................................................................................................... 73 expected a file name ................................................................................................................................. 26 expected a left parenthesis........................................................................................................................ 68 expected a line number ............................................................................................................................. 34 expected a macro parameter name............................................................................................................ 41 expected a member name ......................................................................................................................... 73 expected a right ] bracket ......................................................................................................................... 28 expected a right parenthesis...................................................................................................................... 28 expected a semicolon character ................................................................................................................ 45 expected a statement................................................................................................................................. 69 expected a template argument ................................................................................................................ 290 expected a type specifier........................................................................................................................... 49 expected an "="....................................................................................................................................... 230 expected an asm string.............................................................................................................................. 92 expected an expression ............................................................................................................................. 32 Expected an identifier............................................................................................................................... 37 expected an integer constant................................................................................................................... 220 expected an operator............................................................................................................................... 122 expected class ......................................................................................................................................... 307 expected either a definition or a tag name ................................................................................................ 60 expected identifier name for declspec(vcseifce ...................................................................................... 311 expected number after "

" for declspec(vcsetable...................................................................................................................... 312 expected while.......................................................................................................................................... 61 explicit instantiation is not allowed in the current scope........................................................................ 249 explicit is not allowed............................................................................................................................. 252 explicit specialization is not allowed in the current scope...................................................................... 257 explicit specialization of entity-kind entity must precede its first use .................................................... 258 expr not an lvalue or function designator ................................................................................................. 82 expression has no effect............................................................................................................................ 88 expression must be a modifiable lvalue.................................................................................................... 75 expression must be an integral constant expression ................................................................................. 82 expression must be an Ivalue.................................................................................................................... 68 expression must have a constant value ..................................................................................................... 32 expression must have a pointer type......................................................................................................... 38 expression must have arithmetic

enum or pointer type................................................................................................................................. 276

expression must have arithmetic or enum type....................................................................................... 275 expression must have arithmetic or pointer type ...................................................................................... 37 expression must have arithmetic type....................................................................................................... 34 expression must have bool type or be convertible to bool...................................................................... 233 expression must have class type ............................................................................................................... 81 expression must have integral or enum type........................................................................................... 275 expression must have integral type........................................................................................................... 33 expression must have pointer-to- function type........................................................................................ 60 expression must have pointer-to-class type .............................................................................................. 72 expression must have pointer-to-member type....................................................................................... 155

433

Page 434: Compiler Error Messages

expression must have pointer-to-object type ............................................................................................ 77 expression must have pointer-to-struct-or-union type .............................................................................. 72 expression must have struct or union type................................................................................................ 81 extern inline entity-kind entity was referenced but not defined.............................................................. 267 external/internal linkage conflict with previous declaration..................................................................... 87 extra "semicolon" ignored ...................................................................................................................... 155 extra parameter of postfix "operatorxxxx" must be of type "int" ........................................................... 195 extra text after expected end of preprocessing directive........................................................................... 27 Extra text after the expected end of the number ....................................................................................... 29 first parameter of allocation function must be of type "size_t" .............................................................. 147 first parameter of deallocation function must be of type "void *".......................................................... 148 floating constant is out of range ............................................................................................................... 33 floating-point operation result is out of range ........................................................................................ 349 floating-point template parameter is nonstandard .................................................................................. 212 floating-point value does not fit in required integral type ...................................................................... 343 floating-point value does not fit in the required floating-point type....................................................... 348 Forward declaration of enum type is nonstandard.................................................................................... 58 function "main" may not be called or have its address taken ................................................................. 159 function "main" may not be declared inline ........................................................................................... 164 function call is not allowed in a constant expression................................................................................ 44 function declaration expected after #pragma linkage_name specified ................................................... 300 function declared implicitly...................................................................................................................... 93 function returning abstract class "type" is not allowed........................................................................... 134 function returning array is not allowed..................................................................................................... 53 function returning function is not allowed................................................................................................ 53 function returns incomplete type type .................................................................................................... 282 function template for operator delete[void*] is not allowed................................................................... 198 function template for operator new[size_t] is not allowed ..................................................................... 208 function type cannot come from a typedef ............................................................................................... 54 function type is required......................................................................................................................... 195 global or local variable or field member declaration required for pragma align .................................... 303 global-scope qualifier two leading colons is not allowed....................................................................... 114 identifier xxxx is undefined...................................................................................................................... 29 implicit conversion to inaccessible base class type is not allowed ......................................................... 110 implicitly generated assignment operator cannot copy........................................................................... 162 implicitly generated constructor for class "type" cannot initialize ......................................................... 152 improperly terminated macro invocation................................................................................................ 111 in a function definition a type qualifier on a void return type is not allowed ......................................... 265 incompatible exception specifications.................................................................................................... 271 incompatible memory attributes specified.............................................................................................. 242 incompatible redefinition of macro entity declared at line xxxx ............................................................ 337 incomplete type is not allowed ................................................................................................................. 46 incorrect property specification

correct from is __declspec[property[get=name1 put=name2]] ................................................................................................................................... 292

incorrect use of va_arg ........................................................................................................................... 299 incorrect use of va_end........................................................................................................................... 299 incorrect use of va_start.......................................................................................................................... 298 indirect non-virtual base class is not allowed ......................................................................................... 120 initial value of reference to const volatile must be an lvalue.................................................................. 223 initialization requiring a temporary or conversion is not allowed .......................................................... 184 initialization with "{...}" expected for aggregate object......................................................................... 204 initialization with {...} is not allowed for object of type type ................................................................ 116 inline entity-kind "entity" cannot be explicitly instantiated.................................................................... 192 inline specifier allowed on function declaration only............................................................................. 135 integer constant is too large ...................................................................................................................... 30

434

Page 435: Compiler Error Messages

integer conversion resulted in a change of sign...................................................................................... 339 integer conversion resulted in truncation.................................................................................................. 46 integer operation result is out of range ................................................................................................... 337 integral value does not fit in the required floating-point type................................................................... 93 invalid anonymous union -- class member template is not allowed ....................................................... 253 invalid anonymous union -- member function is not allowed ................................................................ 151 invalid anonymous union -- nonpublic member is not allowed.............................................................. 150 invalid base class .................................................................................................................................... 108 invalid character in input line ................................................................................................................. 281 invalid combination of type specifiers...................................................................................................... 51 invalid constraint in asm statement......................................................................................................... 301 invalid destructor declaration ................................................................................................................. 113 invalid destructor name for type type ..................................................................................................... 267 invalid explicit instantiation declaration................................................................................................. 191 invalid field for a bit field......................................................................................................................... 59 invalid floating constant ........................................................................................................................... 85 invalid friend declaration........................................................................................................................ 112 invalid function name specified for #pragma linkage_name.................................................................. 300 invalid GUID string in __declspec[uuid[...]].......................................................................................... 288 invalid hexadecimal number..................................................................................................................... 29 invalid line number................................................................................................................................... 35 invalid output file

xxxx.................................................................................................................................................... 297 invalid packing alignment ...................................................................................................................... 219 invalid pad alignment value.................................................................................................................... 304 invalid partial specialization -- entity-kind entity is already fully specialized ....................................... 271 invalid re-declaration of type name entity declared at line xxxx............................................................ 105 invalid reference to entity-kind "entity" (union/nonunion mismatch) .................................................... 186 invalid register class specification .......................................................................................................... 301 invalid size for bit field............................................................................................................................. 59 invalid source file identifier string.......................................................................................................... 220 invalid specifier on a parameter................................................................................................................ 95 invalid specifier outside a class declaration.............................................................................................. 95 invalid storage class for a class member................................................................................................. 137 invalid storage class for a function ........................................................................................................... 52 invalid storage class for a parameter ........................................................................................................ 51 invalid storage class for a template declaration ...................................................................................... 191 invalid suffix on integral constant .......................................................................................................... 287 invalid type conversion............................................................................................................................. 87 invalid union member -- class type has a disallowed member function ................................................. 121 invalid use of non-lvalue array ............................................................................................................... 122 invalid value for alignment specified by pragma align........................................................................... 304 last line of file ends with a backslash ....................................................................................................... 23 last line of the file ends without a newline ............................................................................................... 23 left operand is not a struct or union containing this field ....................................................................... 351 linkage specification is incompatible with previous "entity" (declared at line xxxx)............................. 140 linkage specification is not allowed........................................................................................................ 139 local class member entity-kind "entity" requires a definition................................................................. 137 loop in sequence of operator-> functions starting at class X .................................................................. 309 loop is not reachable from preceding code ............................................................................................. 342 member function "entity" may not be re-declared outside its class ........................................................ 160 member function typedef (allowed for cfront compatibility) ................................................................. 189 member function with the same name as its class must be a constructor ............................................... 165 member is declared with __declspec[property]

but no get function was specified ....................................................................................................... 293 but no put function was specified ....................................................................................................... 294

435

Page 436: Compiler Error Messages

memory attribute may not be followed by a nested declarator ............................................................... 243 missing closing quote ............................................................................................................................... 26 missing or invalid segment name in __declspec[allocate[...]] ................................................................ 295 missing return statement at end of non-void entity-kind entity .............................................................. 373 more than one constructor applies to convert from "type" to "type" ...................................................... 170 more than one conversion function from "type" to "type" applies ......................................................... 171 more than one conversion function from "type" to a built-in applies ..................................................... 172 more than one instance of constructor entity matches the argument list ................................................ 127 more than one instance of entity-kind entity matches the argument list................................................. 126 more than one instance of overloaded function "entity" has "C" linkage............................................... 140 more than one operator "xxxx" matches these operands ........................................................................ 146 more than one partial specialization matches the template argument list of entity-kind entity .............. 370 more than one storage class cannot be specified ...................................................................................... 50 more than one user-defined conversion from "type" to "type" applies................................................... 145 multiple access control specifiers are not allowed.................................................................................... 97 mutable is not allowed............................................................................................................................ 236 name conflicts with previously used external name xxxx ........................................................................ 83 name followed by 2 colons and ~ must be a class name or a type name ................................................ 190 name followed by two colons must be a class or namespace name........................................................ 111 name must be a namespace name ........................................................................................................... 237 name of directory for temporary files is too long xxxx ............................................................................ 84 name of member or base class is missing............................................................................................... 150 namespace definition is not allowed....................................................................................................... 236 namespace-qualified name is required.................................................................................................... 237 nested comment is not allowed............................................................................................................... 335 no appropriate operator delete is visible................................................................................................. 270 no arguments allowed on user-defined conversion................................................................................. 143 no default constructor exists for class type............................................................................................. 119 no instance of constructor entity matches the argument list ................................................................... 118 no instance of entity-kind "entity" matches the required type ................................................................ 157 no instance of entity-kind "entity" matches the specified type............................................................... 193 no instance of entity-kind entity matches the argument list ................................................................... 124 no instance of overloaded "entity" matches the argument list ................................................................ 156 no operator "xxxx" matches these operands ........................................................................................... 145 no prior declaration of entity-type entity ................................................................................................ 245 no suitable constructor exists to convert from "type" to "type".............................................................. 170 no suitable conversion function from "type" to "type" exists ................................................................. 169 no suitable user-defined conversion from type to type exists................................................................. 128 non-integral operation not allowed in nontype template argument ........................................................ 286 nonmember operator requires a parameter with class or enum type....................................................... 290 nonstandard member constant declaration (standard form is a static const integral member................. 156 nonstandard preprocessing directive....................................................................................................... 203 nonstandard type for a bit field............................................................................................................... 350 not a class or struct name........................................................................................................................ 107 not a valid member class or function template declaration..................................................................... 256 NULL reference is not allowed .............................................................................................................. 115 numerical decimal digits required for pragma align............................................................................... 304 object has an uninitialized const or reference member........................................................................... 202 object of abstract class type "type" is not allowed.................................................................................. 134 old-fashioned typedef of void ignored.................................................................................................... 351 omission of "xxxx" is nonstandard ......................................................................................................... 182 omission of explicit type is nonstandard

int assumed ......................................................................................................................................... 370 only non-static member functions may be virtual .................................................................................. 129 only one member of a union may be specified in a constructor initializer list ....................................... 269 operand of __uuidof must have a class type for which __declspec[uuid[...]] has been specified........... 287

436

Page 437: Compiler Error Messages

operand of sizeof cannot be a bit field...................................................................................................... 47 operand of sizeof may not be a function................................................................................................... 42 operand of the * character must be a pointer ............................................................................................ 47 operand types are incompatible type and type.......................................................................................... 38 operator may not be a static member function........................................................................................ 142 operator name is not allowed.................................................................................................................. 196 out of memory .......................................................................................................................................... 24 overloaded virtual function "entity" is only partially overridden in entity-kind "entity"........................ 214 override of virtual entity-kind "entity" is ambiguous ............................................................................. 131 parameter of abstract class type "type" is not allowed ........................................................................... 211 parameter type invloves pointer to array of unknown bound ................................................................. 215 parameter type invloves reference to array of unknown bound.............................................................. 216 parsing restarts here after previous syntax error..................................................................................... 336 partial specialization of entity-kind entity is not allowed....................................................................... 257 partial specializations may not have default template arguments........................................................... 272 pointer does not point to a struct or union containing this field ............................................................. 352 pointer or reference to incomplete type is not allowed........................................................................... 270 pointer to incomplete class type is not allowed ...................................................................................... 160 pointer to member of type "type" is not allowed .................................................................................... 209 pointer to reference is not allowed.......................................................................................................... 101 pointer-to-member representation xxxx has already been set for entity-kind entity............................... 286 pointless comparison of unsigned integer with zero............................................................................... 346 program too large or complicated to compile........................................................................................... 78 program too large to compile (too many virtual functions) .................................................................... 130 property has already been specified........................................................................................................ 292 protected entity-kind "entity" is not accessible through a "type" pointer or object ................................ 168 pure specifier ("=0") allowed only on virtual functions ......................................................................... 132 pure virtual entity-kind entity has no overrider ...................................................................................... 281 qualified name is not a member of class type or its base classes.............................................................. 98 qualified name is not allowed................................................................................................................. 115 qualified name is not allowed in member declaration ............................................................................ 173 qualified name is not allowed in namespace member declaration.......................................................... 247 qualifier of destructor name type does not match type type ................................................................... 291 qualifiers dropped in binding reference of type "type" to initializer of type "type" ............................... 175 quoted string should contain at least one character .................................................................................. 31 re-definition of default argument............................................................................................................ 126 reference entity-kind entity requires an initializer .................................................................................. 103 reference to local variable of enclosing function is not allowed............................................................. 161 reference to reference is not allowed ...................................................................................................... 101 reference to void is not allowed.............................................................................................................. 102 return type is not identical to nor covariant with return type "type of overridden virtual function entity-

kind "entity"........................................................................................................................................ 131 return type is not identical to return type type of overridden virtual function entity-kind entity ........... 279 return type may not be specified on a conversion function .................................................................... 182 return value type does not match the function type .................................................................................. 65 right operand of % is zero....................................................................................................................... 345 selector expression is constant.................................................................................................................. 94 shift count is negative............................................................................................................................. 338 shift count is too large ............................................................................................................................ 338 signed bit field of length 1...................................................................................................................... 341 space required between adjacent > delimiters of nested template argument lists

>> is the right shift operator ............................................................................................................... 284 specific definition of inline template function must precede its first use ............................................... 215 specifying a default argument when redeclaring an already referenced function template is not allowed

............................................................................................................................................................ 261 specifying a default argument when redeclaring an unreferenced function template is nonstandard..... 261

437

Page 438: Compiler Error Messages

statement is unreachable......................................................................................................................... 341 static and nonstatic member functions with same parameter types cannot be overloaded ..................... 245 static data member declaration is not allowed in this class .................................................................... 265 Storagec class is not first ........................................................................................................................ 340 struct or union is too large ........................................................................................................................ 58 subscript out of range ............................................................................................................................. 344 support for new[] and delete[] is disabled .............................................................................................. 269 support for placement delete is disabled................................................................................................. 369 tag kind of xxxx is incompatible with declaration of entity-kind "entity" (declared at line xxxx) ......... 187 tag kind of xxxx is incompatible with template parameter of type "type".............................................. 208 taking the address of a bit field is not allowed ......................................................................................... 75 taking the address of a register variable is not allowed .......................................................................... 342 template argument list must match the parameter list ............................................................................ 194 template declaration is not allowed here ................................................................................................ 177 template instantiation resulted in an invalid function declaration .......................................................... 266 template instantiation resulted in unexpected function type of type....................................................... 285 template parameter "xxxx" may not be redeclared in this scope ............................................................ 194 template parameter declaration is missing.............................................................................................. 178 template parameter xxxx may not be used in an elaborated type specifier............................................. 259 the #endif for this directive is missing...................................................................................................... 36 the #if for this directive is missing ........................................................................................................... 35 the __declspec[property] get function xxxx is missing .......................................................................... 294 the __declspec[property] put function xxxx is missing .......................................................................... 294 the ampersand & applied to an array has no effect................................................................................. 345 the class keyword must be used when declaring a template template parameter ................................... 307 the form for taking the address of a member function is nonstandard.................................................... 197 the global scope has no tag named "xxxx" ............................................................................................. 188 the global scope has no xxxx.................................................................................................................. 114 the object has type qualifiers that are not compatible with the member function................................... 130 the operand of a pointer dynamic_cast must be a pointer to a complete class type................................ 227 the operand of a reference dynamic_cast must be an lvalue of a complete class type............................ 228 the operand of a runtime dynamic_cast must have a polymorphic class type ........................................ 229 the second constant in a case range must be larger than the first............................................................ 310 the size of an array in "new" must be non-negative................................................................................ 174 the size of an array must be greater than zero........................................................................................... 55 the template argument list of the partial specialization includes a nontype argument whose type depends

on a template parameter...................................................................................................................... 274 the transparent_union attribute only applies to unions

and struct tag is not a union ................................................................................................................ 310 the type "long long" is nonstandard........................................................................................................ 181 the type in a const_cast must be a pointer

reference or pointer to member to an object type ........................................................................................... 235

the type in a dynamic_cast must be a pointer or reference to a complete type or void*......................... 227 the type of partial specialization template parameter entity-kind entity depends on another template

parameter ............................................................................................................................................ 273 this declaration cannot have multiple template<...> clauses................................................................... 253 this declaration has no storage class or specifier ...................................................................................... 48 this declaration may not have extern C linkage...................................................................................... 259 this kind of pragma may not be used here .............................................................................................. 214 this operator is not allowed in a constant expression................................................................................ 43 this operator is not allowed in a preprocessing expression....................................................................... 43 this operator is not allowed in an integral constant expression ................................................................ 44 this partial specialization would have been used to instantiate entity-kind entity .................................. 274 this partial specialization would have made the instantiation of entity-kind entity ambiguous.............. 274 this pragma must immediately precede a statement ............................................................................... 213

438

Page 439: Compiler Error Messages

this predefined name may not be redefined.............................................................................................. 39 too few arguments for entity-kind "entity" ............................................................................................. 179 too few arguments in function call ........................................................................................................... 84 too few arguments in macro invocation.................................................................................................... 41 too few parameters for this operator function......................................................................................... 144 too few template parameters

does not match previous declaration................................................................................................... 198 too many arguments for entity-kind "entity" .......................................................................................... 180 too many arguments in function call ........................................................................................................ 76 Too many arguments in macro invocation ............................................................................................... 42 too many characters in the character constant .......................................................................................... 31 too many initializer values........................................................................................................................ 79 too many parameters for this operator function...................................................................................... 143 too many template parameters

does not match previous declaration................................................................................................... 198 trailing comma is nonstandard................................................................................................................ 349 transfer of control bypasses initialization of a variable within a block .................................................. 205 transfer of control into a try block .......................................................................................................... 218 transfer of control into an exception handler .......................................................................................... 206 type cannot be used to designate constructor for type ............................................................................ 286 type definition is not allowed in function return type declaration .......................................................... 125 Type name is not allowed................................................................................................................103, 104 type of cast must be arithmetic enum or pointer..................................................................................... 277 type of cast must be arithmetic or pointer ................................................................................................ 91 type of cast must be integral ..................................................................................................................... 90 type of cast must be integral or enum..................................................................................................... 277 type qualifier is meaningless on cast type .............................................................................................. 348 type qualifier is not allowed on this function ......................................................................................... 129 type qualifier is specified more than once ................................................................................................ 50 type qualifier on a reference type is not allowed .................................................................................... 200 type qualifier on return type is meaningless ........................................................................................... 264 type qualifiers are meaningless in this declaration ................................................................................. 336 typename may only be used within a template ....................................................................................... 250 unable to obtain mapped memory .......................................................................................................... 217 uninitialized base class type has a const member ................................................................................... 262 unknown external linkage specification ................................................................................................. 139 unknown register name........................................................................................................................... 302 unnamed prototyped parameters not allowed when body is present ........................................................ 77 unrecognized character escape sequence................................................................................................ 348 unrecognized pragma.............................................................................................................................. 343 unrecognized preprocessing directive..................................................................................................... 335 unrecognized token................................................................................................................................... 25 use of = where == may have been intended ........................................................................................... 347 using-declaration of entity-kind entity conflicts with entity-kind entity

declared at line xxxx........................................................................................................................... 240 value copied to temporary

reference to temporary used ............................................................................................................... 141 variable in __based modifier must have pointer type ............................................................................. 234 variable length array cannot be pm qualified.......................................................................................... 300 variable length array with unspecified bound is not allowed ................................................................. 288 variable xxxx was declared with a never-completed type ........................................................................ 93 virtual inline entity-kind entity was never defined ................................................................................. 268 virtual is not allowed in a function template declaration........................................................................ 252 virtual" is not allowed............................................................................................................................. 154 xxxx

declared in for-loop initialization

439

Page 440: Compiler Error Messages

may not be redeclared in this scope................................................................................................ 254 xxxx cannot cast away const or other type qualifiers ............................................................................. 226 xxxx has already been declared in the current scope................................................................................ 57 xxxx is not a class or function template name in the current scope........................................................ 260 xxxx is not a template............................................................................................................................. 283 xxxx is not a valid source file name ......................................................................................................... 28 You can use a break statement only within a loop or switch.................................................................... 63 you can use a case label only within a switch........................................................................................... 65 you can use a default label only within a switch ...................................................................................... 66 you can use identifier-list parameters only in a function definition ......................................................... 54 zero used for undefined preprocessing identifier...................................................................................... 91 zero-length bit-field must be unnamed ..................................................................................................... 60

compiler remarks........................................................................................................................................ 330 comparison of unsigned type with signed type....................................................................................... 330

compiler warnings ............................................... 306, 308, 347, 374, 375, 376, 377, 378, 379, 380, 381, 382 "overload" keyword used (anachronism)................................................................................................ 353 #ident declared without parameters. Expanding to __FILE__ and date ................................................. 376 __based does not precede a pointer operator

__based ignored.................................................................................................................................. 365 __declspec attributes ignored ................................................................................................................. 371 __IDENT__ seen before #ident. Expanding to file and date .................................................................. 376 a member with reference type is not allowed in a union ........................................................................ 374 a storage class may not be specified here ............................................................................................... 308 alignment less than specified type requirement given by pragma align ................................................. 377 arithmetic on pointer to void or function type ........................................................................................ 380 attribute name ignored............................................................................................................................ 379 calling convention specified more than once.......................................................................................... 244 cast of bound function to normal function pointer (anachronism).......................................................... 355 declaration of "xxxx" hides template parameter..................................................................................... 359 declaration of size_t does not match the expected type type .................................................................. 372 declaration requires a typedef name ....................................................................................................... 355 declaring a void parameter list with a typedef is nonstandard................................................................ 359 delete array size expression used (anachronism) .................................................................................... 356 delete of pointer to incomplete class ...................................................................................................... 356 empty comment interpreted as token-passing operator ## ..................................................................... 368 entity-kind "entity" does not match "entity" - virtual function override intended? ................................ 363 entity-kind "entity" has an uninitialized const field................................................................................ 354 entity-kind "entity" is an inaccessible type (allowed for cfront compatibility) ...................................... 358 entity-kind "entity" is used before its value is set................................................................................... 360 entity-kind "entity" will not be called for implicit or explicit conversions............................................. 362 entity-kind entity defines no constructor to initialize the following....................................................... 354 entity-kind entity has no corresponding operator deletexxxx................................................................. 368 enum bit-fields are always unsigned

but enum type includes negative enumerator ..................................................................................... 299 enumerated type mixed with another type.............................................................................................. 347 enumerated type mixed with another type (anachronism)...................................................................... 357 exception specification is not allowed.................................................................................................... 361 excess initializers are ignored................................................................................................................. 382 explicit type is missing int assumed ....................................................................................................... 352 external/internal linkage conflict for entity-kind "entity" declared at line xxxx..................................... 361 function does not have a full prototype .................................................................................................. 377 incremented bool value is deprecated..................................................................................................... 232 initial value of reference to non-const must be an lvalue ....................................................................... 358 inline specification is incompatible with previous entity

declared at line xxxx........................................................................................................................... 364 invalid attribute for variable name.......................................................................................................... 379

440

Page 441: Compiler Error Messages

invalid combination of DLL atributes .................................................................................................... 367 invalid multibyte character sequence...................................................................................................... 372 memory attribute specified more than once............................................................................................ 243 memory attributes ignored...................................................................................................................... 242 missing return statement at end of non-void function f .......................................................................... 375 nonstandard cast on lvalue ignored......................................................................................................... 381 non-void entity-kind entity should return a value..................................................................................... 64 old-style parameter list anachronism...................................................................................................... 353 operator new and operator delete cannot be given internal linkage........................................................ 306 pointer points outside of underlying object .............................................................................................. 86 pointer-to-member-function cast to pointer to function.......................................................................... 363 pointless comparison of unsigned integer with a negative constant ....................................................... 360 redeclaration of type alters its access...................................................................................................... 374 return type int omitted in declaration of function main .......................................................................... 375 returning pointer to local variable .......................................................................................................... 379 returning reference to local variable ....................................................................................................... 369 struct or union declares no named members........................................................................................... 364 temporary used for initial value of reference to const volatile anachronism .......................................... 222 temporary used for initial value of reference to non-const (anachronism) ............................................. 356 the auto specifier is ignored because it is invalid in standard C/C++..................................................... 381 this pragma must immediately precede a declaration ............................................................................. 213 this pragma must immediately precede a declaration or statement ........................................................ 362 type qualifier ignored ............................................................................................................................. 372 type qualifier on return type is meaningless ........................................................................................... 264 typedef name has already been declared(with same type)...................................................................... 353 types cannot be declared in anonymous unions...................................................................................... 378 use of alternative token "%

" appears to be unintended.................................................................................................................. 366 use of alternative token "<

" appears to be unintended.................................................................................................................. 366 using nested entity-kind "entity" (anachronism)..................................................................................... 165 using out-of-scope declaration of entity-kind "entity" declared at line xxxx ......................................... 365 using-declaration ignored -- it refers to the current namespace.............................................................. 367 variable-length array field type will be treated as zero-length array field type ...................................... 380

441