'>' Символ во время объявления функции? - PullRequest
1 голос
/ 04 августа 2010

Так как к декабрю я все еще хочу создать простой клон Pac-Man, я в настоящее время обучаю себя C #, чтобы использовать XNA Game Studio 3.1, что я считаю лучшим ответом с готовой документацией для изучения от того, чтобы быть своего рода безопасным для будущего.

В любом случае, проблема связана с книгой, которую я читаю, в которой функция объявлена ​​так:

public void TransformVectorByReference()>
{
    /* ...stuff... */
}

Я предполагаю, что внутреннее устройство не важно, потому что компилятор жалуется на символ ´> `в объявлении функции. Однако несколько функций объявляются следующим образом, и все они выдают ошибки типа:

; ожидается.

Может кто-нибудь сказать мне, что делает эта функция / указать мне на предыдущий вопрос SO, потому что я не нахожу никаких ответов с помощью поиска, так как я не знаю, как назвать забавную вещь.

Книга, из которой я получил этот фрагмент кода, - Сэм Microsoft XNA Game Studio 3.0. Если у кого-то есть другие, более лучшие альтернативы этой книге, я был бы очень рад увидеть их.

Edit:

Я добавил одну примерную функцию из трех-пяти функций, которые почти идентичны, но одна использует ключевое слово>. Однако было отмечено, что это может быть не ошибка автора, а способ, которым книга была подготовлена ​​/ исправлена.

public void TransformVectorByReference()
{
    Matrix rotationMatrix = Matrix.CreateRotationY( MathHelper.ToRadians(45.0f) );
    // Create a vector pointing the direction the camera is facing.
    Vector3 transformedReference;
    Vector3.Transform(ref cameraReference, ref rotationMatrix, out transformedReference);
    // Calculcate the position the camera is looking at.
    Vector3.Add(ref cameraPosition, ref transformedReference, out cameraTarget);
}

public void TransformVectorByReferenceAndOut()>
{   
    Matrix rotationMatrix = Matrix.CreateRotationY( MathHelper.ToRadians(45.0f) );
    // Create a vector pointing the direction the camera is facing.
    Vector3 transformedReference;
    Vector3.Transform( ref cameraReference, ref rotationMatrix, out transformedReference );
    // Calculate the position the camera is looking at.
    Vector3.Add( ref cameraPosition, ref transformedReference, out cameraTarget );
}

Ответы [ 3 ]

14 голосов
/ 04 августа 2010

Символ> ошибочен и должен быть удален.

2 голосов
/ 04 августа 2010

Это выглядит как опечатка для меня, хотя я не видел книгу

1 голос
/ 04 августа 2010

Синтаксис недопустим, и, поскольку он встречается в разных местах книги, я бы поспорил, что проблема не столько в опечатке автора, сколько в проблеме оригинальной разметки и способа, которым книга была набрана.Если у книги есть прилагаемый компакт-диск или веб-сайт, вы сможете найти исправленные образцы кода.

...