c++/8961: template template parameter works with 2.95; 3.2.1 reports error.
helm@fs.tum.de
helm@fs.tum.de
Mon Dec 16 07:16:00 GMT 2002
>Number: 8961
>Category: c++
>Synopsis: template template parameter works with 2.95; 3.2.1 reports error.
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: rejects-legal
>Submitter-Id: net
>Arrival-Date: Mon Dec 16 07:16:03 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Alexander Helm
>Release: gcc version 3.2.1 20020924 (Debian prerelease)
>Organization:
>Environment:
>Description:
g++ (3.2.1) rejects the attached code with:
test2.cc: In constructor `Matrix<rows, 1>::Matrix()':
test2.cc:29: type/value mismatch at argument 3 in template parameter list for `
template<int rows, int cols, template<int rows, int cols> class C> class
Matrix_Base'
test2.cc:29: expected a class template, got `Matrix<rows, 1>'
test2.cc:29: class `Matrix<rows, 1>' does not have any field named `
<declaration error>'
g++ (2.95 and 3.0.4) does fine
>How-To-Repeat:
Try to compile the attached code using g++ (3.2.1)
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-c++src; name="test2.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="test2.cc"
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnRlbXBsYXRlPGludCBy
b3dzLCBpbnQgY29scywgdGVtcGxhdGU8aW50IHJvd3MsIGludCBjb2xzPiBjbGFzcyBDPgoJY2xh
c3MgTWF0cml4X0Jhc2UgewoJCXB1YmxpYzoKCQkJTWF0cml4X0Jhc2UoKSB7CgkJCQljb3V0IDw8
IF9fUFJFVFRZX0ZVTkNUSU9OX18gPDwgZW5kbDsKCQkJfTsKCQkJdGVtcGxhdGU8aW50IGNvbHMy
PgoJCQkJQzxyb3dzLGNvbHMyPiogb3BlcmF0b3IqKEM8Y29scyxjb2xzMj4mIGxocykgewoJCQkJ
CXJldHVybiAwOwoJCQkJfQoJfTsKCnRlbXBsYXRlPGludCByb3dzLCBpbnQgY29scz4KCWNsYXNz
IE1hdHJpeCA6IHB1YmxpYyBNYXRyaXhfQmFzZTxyb3dzLGNvbHMsTWF0cml4PiB7CgkJcHVibGlj
OgoJCQlNYXRyaXgoKSA6IE1hdHJpeF9CYXNlPHJvd3MsY29scyxNYXRyaXg+KCkgewoJCQkJY291
dCA8PCBfX1BSRVRUWV9GVU5DVElPTl9fIDw8IGVuZGw7CgkJCX07Cgl9OwoKLy90ZW1wbGF0ZTxp
bnQgeCxpbnQgeSx0ZW1wbGF0ZTxpbnQsaW50PiBjbGFzcyBDLCBpbnQgXzIsaW50IF8xID4gY2xh
c3MgTWF0cml4X0Jhc2U8eCx5LEM8XzEsXzI+ID46IHB1YmxpYyBNYXRyaXhfQmFzZTx4LHksQz4g
e307CnRlbXBsYXRlPGludCByb3dzPgoJY2xhc3MgTWF0cml4PHJvd3MsMT4gOiBwdWJsaWMgTWF0
cml4X0Jhc2U8cm93cywxLE1hdHJpeD4gewoJCXB1YmxpYzoKCQkJTWF0cml4KCkgOiBNYXRyaXhf
QmFzZTxyb3dzLDEsTWF0cml4PigpIHsKCQkJCWNvdXQgPDwgX19QUkVUVFlfRlVOQ1RJT05fXyA8
PCBlbmRsOwoJCQl9OwoJfTsKCmludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKCU1h
dHJpeDwyLDI+IEE7CglNYXRyaXg8MiwxPiBCOwoKCUEqQTsKfQo=
More information about the Gcc-prs
mailing list