Я просто немного поиграл с decltype и заметил, что intellisense в VS 2012 дает мне ошибку. Это первый раз, когда я столкнулся с этим, и код все еще скомпилирован.VS 2012 intellisense - функция не может быть инициализирована
#include <iostream>
int func(int param)
{
std::cout << "IM BEING CALLED: " << param << std::endl;
return 0;
}
int main()
{
auto& y = func;
auto z = func;
decltype((func))& x = func;
decltype((func)) k = func; // function 'k' may not be initialized but compiles
func(9);
x(10);
y(11);
z(12);
k(13);
std::cout << std::endl;
std::cout << "Address of func: " << func << std::endl;
std::cout << "Address of x: " << x << std::endl;
std::cout << "Address of y: " << y << std::endl;
std::cout << "Address of z: " << z << std::endl;
std::cout << "Address of k: " << k << std::endl;
std::cin.get();
return 0;
}
Это не серьезная проблема, не интересная для большинства людей, но мне просто интересно, знает ли кто-нибудь причину ошибки?
У IntelliSense есть ошибки. Пример: У меня есть функция 'MyFunction', которая является другом класса' MyClass'. IntelliSense отмечает использование частных членов MyClass в 'MyFunction' как ошибки (не предупреждения), хотя код компилируется и работает очень хорошо. –
Я думаю, вы должны удалить последнюю часть своего вопроса, поскольку это вопрос списка. Основная его часть в порядке. –