ошибка C2065: 'cout': необъявленный идентификатор

UltraID3Lib...

//using HundredMilesSoftware.UltraID3Lib;
UltraID3 u = new UltraID3();
u.Read(@"C:\mp3\song.mp3");
//view
Console.WriteLine(u.Artist);
//edit
u.Artist = "New Artist";
u.Write();

67
задан Michael Mrozek 7 February 2013 в 16:02
поделиться

8 ответов

Вы уверены, что он компилируется как C ++? Проверьте имя файла (оно должно заканчиваться на .cpp ). Проверьте настройки вашего проекта.

В вашей программе просто все в порядке, а cout находится в пространстве имен std . Ваша установка VS 2010 Beta 2 неисправна, и я не думаю, что это просто ваша установка.

Я не думаю, что VS 2010 еще готов для C ++. Стандартная программа "Hello, World" не работала в Beta 1. Я только что попытался создать тестовое консольное приложение Win32, и в сгенерированном файле test.cpp не было main () .

У меня очень-очень плохое предчувствие по поводу VS 2010.

1
ответ дан 24 November 2019 в 14:32
поделиться

прежде, чем вы начнете эту программу, избавьтесь от всего кода и выполните простой приветственный мир внутри main . Включите только iostream и используйте пространство имен std ;. Постепенно добавляйте к нему, чтобы найти свою проблему.

cout << "hi" << endl;
2
ответ дан 24 November 2019 в 14:32
поделиться

У меня VS2010, Beta 1 и Beta 2 (один на моей рабочей машине, а другой дома), и я без проблем использовал std . Попробуйте ввести:

std::

И посмотрите, дает ли вам что-нибудь Intellisense. Если он дает вам обычные данные ( abort , abs , acos и т. Д.), за исключением cout , хорошо тогда, , что является большой загадкой. В этом случае обязательно загляните в заголовки C ++.

Кроме того, я бы просто добавил, чтобы убедиться, что вы запускаете обычный пустой проект (не CLR, где Intellisense не работает), и что вы действительно пытались Постройте проект хотя бы один раз. Как я упоминал в комментарии, VS2010 анализирует файлы после того, как вы добавили include ; возможно, что-то застряло в парсере, и он не сразу «нашел» cout . (В таком случае, возможно, попробуйте перезапустить VS?)

2
ответ дан 24 November 2019 в 14:32
поделиться

Если единственный файл, который вы включаете, - это iostream, и он по-прежнему говорит undefined, то, возможно, iostream не содержит того, что должен. Возможно ли, что в вашем проекте есть пустой файл с именем «iostream»?

3
ответ дан 24 November 2019 в 14:32
поделиться

Я видел похожие вещи, когда использовал расширение файла .c с кодом C ++. В остальном мне пришлось бы согласиться со всеми насчет ошибок при установке. Это сработает, если вы попытаетесь скомпилировать проект с более ранней версией VS? Попробуйте VC ++ Express 2008. Бесплатно на msdn.

3
ответ дан 24 November 2019 в 14:32
поделиться

Приведенный ниже код компилируется и правильно работает для меня с использованием gcc. Попробуйте скопировать / вставить это и посмотрите, работает ли это.

#include <iostream>
using namespace std;

int bob (int a) { cout << "hey" << endl; return 0; };

int main () {
    int a = 1;
    bob(a);
    return 0;
}
3
ответ дан 24 November 2019 в 14:32
поделиться

Это был компилятор - сейчас я использую Eclipse Galileo, и программа работает как чудо


-5
ответ дан 24 November 2019 в 14:32
поделиться

Буфера протокола «легки» в том смысле, что они производят очень компактное проводное представление, таким образом экономя пропускную способность, память, место хранения, и т.д. - оставаясь очень общего назначения и межъязыковыми. Мы используем их много в Google, конечно, но не ясно, волнуют ли вас эти характеристики производительности вообще - вы, кажется, используете "легкий" в совсем ином смысле от этого, строго связанный с (ментальной) нагрузкой на вас, программиста, а не все с (вычислительной) нагрузкой на компьютеры и сети; -).

Если вы не заботитесь о расходовании гораздо большей полосы пропускания/памяти/и т.д., чем вы могли бы, и вы не заботитесь о возможности кодирования участвующих подсистем на разных языках, то буферы протоколов могут быть не оптимальными для вас.

Не является травлением , если я правильно прочитал ваше "несколько защищенное" требование: распаковка надлежащим образом сконструированной вредоносной маринованной строки может выполнить произвольный код на машине для распрокидывания. На самом деле HTTP не является "несколько безопасным" в несколько ином смысле: в этом протоколе нет ничего, чтобы остановить злоумышленников от "обнюхивания" вашего трафика (так что вы никогда не должны использовать HTTP для отправки конфиденциальной полезной нагрузки, если, возможно, вы не используете сильное шифрование на полезной нагрузке перед отправкой и отменить это после ее получения). Для обеспечения безопасности (опять же в зависимости от того, какое значение вы вкладываете в слово) вам нужен HTTPS или (проще настроить, не требует приобретения сертификатов! -) Туннели SSH.

Как только между двумя машинами будет установлен туннель SSH (для Python paramiko может помочь, но даже делать это с помощью сценариев оболочки или иным способом путем непосредственного управления клиентом командной строки ssh не слишком плохо; -) на нем можно запустить любой протокол (HTTP, например, в порядке), поскольку оконечные устройства туннеля становятся доступными в качестве указанных пронумерованных портов, на которых можно открыть сокет. Я бы лично рекомендовал JSON вместо XML для кодирования полезных нагрузок - см. здесь для сервера и клиента RPC на основе XMLRPC, например, на основе JSON, но я думаю, что использование сервера и клиента XMLRPC, которые поставляются со стандартной библиотекой Python, еще проще, поэтому, вероятно, ближе к тому, что Зачем тебе еще черрипия? Является ли производительность сейчас внезапно попирающей простоту, только для этого аспекта всей архитектуры, в то время как в каждом другом случае простота была выбрана выше производительности? Это казалось бы особенно противоречивым набором архитектурных вариантов! -)

-121--4222981-

Предполагается , чтобы предотвратить это. Если составители сервера кэширования написали его, чтобы уважать эти теги.

Нет никакой гарантии, что это будет соблюдаться, но хорошо написанный сервер кэширования, который следует стандартам, должен уважать эти теги.

-121--3643163-

обычно хранится в папке C :\Program Files\Microsoft Visual Studio 8\VC\include. Сначала проверьте, есть ли она до сих пор. Затем выберите Сервис + Параметры,Projects and Solutions, VC++ Directory, выберите «Include files» в поле со списком «Show Directories for» (Показать каталоги для) и дважды проверьте, что $ (VCISnstallDir) include находится в верхней части списка.

0
ответ дан 24 November 2019 в 14:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: