On Fri, 21 Oct 2005 18:11:28 +0400, AndrewJD <2437@users.rsdn.ru> wrote:
> > class A
> {
> };
>
> int main(int argc, char* argv[])
> {
> try
> {
> throw A();
> }
> catch (const A& a)
> {
> /// (1)
> }
>
catch (A a)
> {
>
// (2)
> }
>
return 0;
> }
>
>
>
> В какую ветку согласно стандарту должно пойти управление в 1 или 2?
> Я думал, что по первой, так как первая подходящая.
В первый подходящий.
> Однако VS 7.1 со мной не согласен и вообще отказался этот код компилировать.
Он не согласен совсем по другой причине.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/C2313.asp
--
Maxim YegorushkinPosted via RSDN NNTP Server 2.0 beta
Привет Всем
Ламерский вопрос
Есть такой код:
class A
{
};
int main(int argc, char* argv[])
{
try
{
throw A();
}
catch (const A& a)
{
/// (1)
}
catch (A a)
{
// (2)
}
return 0;
}
В какую ветку согласно стандарту должно пойти управление в 1 или 2?
Я думал, что по первой, так как первая подходящая. Однако VS 7.1 со мной не согласен и вообще отказался этот код компилировать. Comeau online схавал. Кто прав и почему?