IntelliSense не может вычесть аргументы шаблона при передаче результата «новый» в функцию шаблона.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 IntelliSense не может вычесть аргументы шаблона при передаче результата «новый» в функцию шаблона.

Сообщение Anonymous »

В приведенном ниже фрагменте кода IntelliSense завершается с ошибкой со следующей ошибкой:

Код: Выделить всё

no instance of function template "some_template_function" matches the argument list C/C++(304)
template.cpp(10, 14): argument types are: ()

Код: Выделить всё

#include 

template  T* some_template_function(T *param)
{
return param;
}

int main(int argc, char **argv)
{
int *x = some_template_function(new int());      // does NOT work
int *y = some_template_function(new int()); // works
}
Однако удаление #include позволяет IntelliSense снова работать нормально, поэтому в этом фрагменте нет ошибок:

Код: Выделить всё

template  T* some_template_function(T *param)
{
return param;
}

int main(int argc, char **argv)
{
int *x = some_template_function(new int());      // works
int *y = some_template_function(new int()); // works
}
Кроме того, если я не передам результат new int() в some_template_function напрямую, а вместо этого сохраню его во временной переменной IntelliSense работает нормально, даже с #include :

Код: Выделить всё

#include 

template  T* some_template_function(T *param)
{
return param;
}

int main(int argc, char **argv)
{
int *temp = new int();
int *x = some_template_function(temp);      // works
int *y = some_template_function(temp); // works
}
Я получаю эту ошибку IntelliSense в VS Code (расширение C/C++ v1.21.6) в macOS (14.6) со вчерашнего дня, когда мой Xcode был обновлен до версии 16.0 (16A242d).
p>
Кроме того, компиляция файла работает нормально, независимо от того, какую из трех версий я использую.
Я также пробовал все виды intelliSenseMode< /code> и compilerPath в VSCode, похоже, ничего не помогает.

Подробнее здесь: https://stackoverflow.com/questions/789 ... ult-of-new
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»