С помощью FontMetrics
легко определить отображаемую высоту шрифта, но как насчет другого? Как я могу получить шрифт, который будет соответствовать определенной высоте в пикселях?
" Вызов barney :: barney () Вызов foo :: operator () () Вызов barney :: barney () Но ...
Вот программа, которая компилируется без предупреждения, например, на GNU C ++:
$ g++ -o t -Wall -pedantic -Wshadow t.cpp $ ./t.exe Calling barney::barney() Calling foo::operator()() Calling barney::barney()
Но она полностью не компилируется на MSVC ++:
$ cl /EHsc t.cpp Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. t.cpp t.cpp(17) : error C2380: type(s) preceding 'fred' (constructor with return type, or illegal redefinition of current class-name?) t.cpp(17) : error C2208: 'fred' : no members defined using this type
Более того, когда она компилируется, результат не такой, как я ожидал. Может ли кто-нибудь пролить свет на то, каким должно быть стандартное поведение для этого кода ?
Вот он:
#include
using ::std::cerr; struct fred; struct foo { inline fred operator ()(); }; struct barney { barney() : v_(0) { cerr << "Calling barney::barney()\n"; } int v_; }; struct fred : public barney { foo fred; int joe; struct fred memfunc() { return fred(); } }; inline fred foo::operator ()() { cerr << "Calling foo::operator()()\n"; return fred(); } int main(int argc, const char *argv[]) { fred f; f.memfunc(); return 0; } Он выводит следующее:
Calling barney::barney() Calling foo::operator()() Calling barney::barney()
Но я ожидал этого:
Calling barney::barney() Calling barney::barney()
Почему я получаю вывод я делаю? Это стандартное поведение? Если да, то почему, какие разделы стандарта актуальны?
В дополнение к принятому ответу, Дэвид Родригес дал отличный ответ , подробно описав, где в стандарте говорится, что я разрешено объявить член с именем
fred
изstruct fred
. Получение данных из Интернета Я попытался реализовать его на Android 3.0, последней платформе для планшетов, однако я получаю такую ошибку: «Невозможно разрешить хост« www.anddev.org »...Я пробовал следовать этому руководству: Получение данных из Интернета
Я попытался реализовать его на Android 3.0, последней платформе для планшетов, однако получаю такую ошибку: « Невозможно разрешить хост« www.anddev.org »Нет привязанного адреса с именем хоста. "
Вы можете проверить URL-адрес, который я использовал, чтобы доказать, что файл существует. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt
Я создал частный класс и расширил его с помощью asynctask. Вот код:
private class Downloader extends AsyncTask
{ String myString = null; @Override protected String doInBackground(String... arg0) { try{ URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt"); URLConnection ucon = myURL.openConnection(); InputStream is = ucon.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current=bis.read())!=-1){ baf.append((byte)current); } myString = new String (baf.toByteArray()); }catch(Exception e){ myString = e.getMessage(); } return myString; } @Override protected void onPostExecute(String result){ tv.setText(result); } } Любая помощь будет принята с благодарностью.