f



Can't understand why this won't compile

The problem code:
  // line 0
  template <class T, T* (T::*C)(void) const>
  class cc
  {
  };

  // line 6
  class e
  {
  public:
   virtual e *clone(void) const;

   cc<e,&clone> ee(void) const;
  };


This code causes problems with both Visual C++ 7 (2003) and g++ 2.96.
With VC, I get the following error message:
c:\Documents and Settings\CJ\My Documents\Projects\Project
Grapher\Source Code\Expression.cpp(22): fatal error C1001: INTERNAL
COMPILER ERROR
         (compiler file 'msc1.cpp', line 2701)
          Please choose the Technical Support command on the Visual C++
          Help menu, or open the Technical Support help file for more
information


In g++, I get two different results. Whith the code above, I get the
following:
   test.cpp:12: invalid use of undefined type `class e'
   test.cpp:8: forward declaration of `class e'
   test.cpp:12: template argument 2 is invalid
   test.cpp:12: ISO C++ forbids declaration of `ee' with no type

When using &e::clone instead of &clone, g++ reports:
   test.cpp:12: Internal error: Segmentation fault.
(with the same change, VC still has an internal compiler error)


Unless, for some reason, I really can't use e from within e (which I
know can't be right), I can't see the reason for these error messages.


Anyone know what's going on?
Should this code not compile anyway?


Thanks for you time
-CJ

contact:
http://students.washington.edu/bellc/contact.php
bellc (at) u washington edu

      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
0
c1284j
7/23/2004 9:53:04 AM
comp.lang.c++.moderated 10738 articles. 1 followers. allnor (8509) is leader. Post Follow

5 Replies
974 Views

Similar Articles

[PageSpeed] 53

CJ Bell wrote:
> The problem code:
>   // line 0
>   template <class T, T* (T::*C)(void) const>
>   class cc
>   {
>   };
> 
>   // line 6
>   class e
>   {
>   public:
>    virtual e *clone(void) const;
> 
>    cc<e,&clone> ee(void) const;

     cc<e,&e::clone> ee(void) const;

To form a pointer to member you have to specify the class explicitly,
even inside the class definition, if I am reading 8.3.3 correctly.

>   };
> 
> 
> This code causes problems with both Visual C++ 7 (2003) and g++ 2.96.

Both are outdated compilers.  It compiles fine with VC++ 7.1 (actually
both forms do).  I'll leave it to others to try g++ v3+

Victor

      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
0
Victor
7/23/2004 2:26:50 PM
CJ Bell wrote:
> The problem code:
>   // line 0
>   template <class T, T* (T::*C)(void) const>
>   class cc
>   {
>   };
> 
>   // line 6
>   class e
>   {
>   public:
>    virtual e *clone(void) const;
> 
>    cc<e,&clone> ee(void) const;
>   };
> 
> 
> This code causes problems with both Visual C++ 7 (2003) and g++ 2.96.
> With VC, I get the following error message:
> c:\Documents and Settings\CJ\My Documents\Projects\Project
> Grapher\Source Code\Expression.cpp(22): fatal error C1001: INTERNAL
> COMPILER ERROR
>          (compiler file 'msc1.cpp', line 2701)
>           Please choose the Technical Support command on the Visual C++
>           Help menu, or open the Technical Support help file for more
> information
> 
> 
> In g++, I get two different results. Whith the code above, I get the
> following:
>    test.cpp:12: invalid use of undefined type `class e'
>    test.cpp:8: forward declaration of `class e'
>    test.cpp:12: template argument 2 is invalid
>    test.cpp:12: ISO C++ forbids declaration of `ee' with no type
> 
> When using &e::clone instead of &clone, g++ reports:
>    test.cpp:12: Internal error: Segmentation fault.
> (with the same change, VC still has an internal compiler error)
> 
> 
> Unless, for some reason, I really can't use e from within e (which I
> know can't be right), I can't see the reason for these error messages.
> 
> 
> Anyone know what's going on?
> Should this code not compile anyway?
This code will never compile because you made a confusion in the 
template instantiation.
Template parameters are integral types (bool, int, enum, ...) or types. 
That is what you declare: the second parameter of your template 
instantiation(&clone) is not a type but a pointer!

To be cleaner, you should write:

template<class T, class F>
class cc;

template <class T>
class cc<T, T* (T::*)(void) const>
{
   cc(T* (T::*ptr)(void) const);
};

struct A
{
   A *clone(void) const;
};

int main(int argc, char *argv[])
{
   cc<A, A *(A::*)(void) const> c(&A::clone);
// use dynamically the pointer

   return 1;
}



      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
0
Yannick
7/23/2004 3:35:55 PM
On 23 Jul 2004 05:53:04 -0400, c1284j@comcast.net (CJ Bell) wrote:

>The problem code:
>  // line 0
>  template <class T, T* (T::*C)(void) const>
>  class cc
>  {
>  };
>
>  // line 6
>  class e
>  {
>  public:
>   virtual e *clone(void) const;
>
>   cc<e,&clone> ee(void) const;

Must be:
cc<e, &e::clone> ee(void) const;

>When using &e::clone instead of &clone, g++ reports:
>   test.cpp:12: Internal error: Segmentation fault.
>(with the same change, VC still has an internal compiler error)

GCC 3.4, VC 7.1 and Comeau C++ all compile it with the change.

>Unless, for some reason, I really can't use e from within e (which I
>know can't be right), I can't see the reason for these error messages.

You can't use e where a complete type is required - within the
definition of e, e's type is incomplete. But for your template you
don't require e to be complete.

>Should this code not compile anyway?

No, member pointers are always of the form &classname::membername
(module namespaces before classname).

Tom

      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
0
tom_usenet
7/23/2004 3:36:25 PM
Yannick Le goc wrote:

> This code will never compile because you made a confusion in the 
> template instantiation.
> Template parameters are integral types (bool, int, enum, ...) or types. 
> That is what you declare: the second parameter of your template 
> instantiation(&clone) is not a type but a pointer!
> 
> To be cleaner, you should write:
> 
> template<class T, class F>
> class cc;
> 
> template <class T>
> class cc<T, T* (T::*)(void) const>
> {
>    cc(T* (T::*ptr)(void) const);
> };
> 
> struct A
> {
>    A *clone(void) const;
> };
> 
> int main(int argc, char *argv[])
> {
>    cc<A, A *(A::*)(void) const> c(&A::clone);
> // use dynamically the pointer
> 
>    return 1;
> }
> 

But that's not exactly what I'm trying to do (well, I could see it 
working, but it seems unecessary to have to do it at run-time). Anyhow, 
the following DOES compile:

   template <class T, T* (T::*C)(void) const>
   class cc
   {
   };

   class f
   {
   public:
    virtual e *clone(void) const;
   }

   class e
   {
   public:
    cc<f,&f::clone> ee(void) const;
   };


I don't see why I can't use e::clone in a template because it's address 
should be static. If clone were, say, a static int, using a pointer to 
it in a template works. (also, why isn't a pointer an integral type if 
it's value is known at compile time?)




Thanks
-CJ

      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
0
CJ
7/24/2004 12:03:15 AM
Victor Bazarov wrote:
> CJ Bell wrote:
> 
>>The problem code:
>>  // line 0
>>  template <class T, T* (T::*C)(void) const>
>>  class cc
>>  {
>>  };
>>
>>  // line 6
>>  class e
>>  {
>>  public:
>>   virtual e *clone(void) const;
>>
>>   cc<e,&clone> ee(void) const;
> 
> 
>      cc<e,&e::clone> ee(void) const;
> 
> To form a pointer to member you have to specify the class explicitly,
> even inside the class definition, if I am reading 8.3.3 correctly.

As I mentioned in my post, I also tried &e::clone, but BOTH compilers 
had internal compiler errors


>>  };
>>
>>
>>This code causes problems with both Visual C++ 7 (2003) and g++ 2.96.
> 
> 
> Both are outdated compilers.  It compiles fine with VC++ 7.1 (actually
> both forms do).  I'll leave it to others to try g++ v3+

Sorry, I wasn't too clear on this. The 2003 version of VC is 7.1
(specifically, my version is 7.1.3088)

I'm surprised it compiled for you... (why wont it compile for me!)

Thanks
-CJ

      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]
0
CJ
7/24/2004 12:03:45 AM
Reply:

Similar Artilces:

Willie won't, Willie won't, won't go!
Ah yes, some 70s nostalgia tunes. ...

Files won't display, directory won't delete, drive won't format
After having a few slow-access problems, I ran a virus scan (McAfee) on my D: drive (second HDD, 15Gb). To my surprise, the scan listed a directory and files which I didn't recognise: I didn't note any full pathnames, but a typical one was something like D:\RECYCLER\S-1-5-21... Dd159.zip . I wondered if this was anything to do with the Recycle bin, despite the fact that I'd emptied it immediately before the scan. No viruses were detected, but when I ran an error check I got the message "the scan could not be completed". As a precaution I decided to ba...

Not can't; won't
Ok, looks like I fibbed about my kiss-off being my last post. I couldn't resist reading the responses via the Google archive to my kiss-off. I'm not subscribed and this really will be my last post, because I'll have said what can/should be said. I feel a need to disabuse the Linux bigots of a few points: - I was doing Linux kernel 0.99 when a number of you hadn't discovered girls yet. Others of you, before you first got laid. - I remembered /etc/fstab from my ancient days. Editing /etc/inittab just to get a NVIDIA driver installed was tedious, not difficult. - I c...

What is a difference in 'T t = u' and in 'T t( u )'
Hi, Does anyone can explain me why declarations marked as 1 compile whereas declarations marked as 2 do not compile? The most obvious example is the third one with shared_ptr. It is because of explicite constructor. Am I right? But what about first and second examples? Please notice also that examples second and third are completely different. Constructor calling syntax is right in third but not in second. However assign syntax is right in second example but not in third. #include <boost/assign/list_of.hpp> #include <boost/shared_ptr.hpp> #include <iostream> #include <...

autopsy can't/won't run
All, I'm trying to get the sleuthkit/autopsy suite working on a 4.11 box. sleuthkit dumps data from a partition image fine but when I run autopsy (built either from ports or the sleuthkit site's source tarball I get stuff like this: exists operator argument is not a HASH element at /home/rloef/downloads/autopsy-2.05/lib//Caseman.pm line 2815. BEGIN failed--compilation aborted at /home/rloef/downloads/autopsy-2.05/lib//Main.pm line 49. BEGIN failed--compilation aborted at ./autopsy line 58. I've copied all the perl modules into the perl directory, and they're executable. I know no perl. Am I missing a module or a command switch or something? regards, r Begin <1117291718.206777.238090@f14g2000cwb.googlegroups.com> On 2005-05-28, rloef@interfold.com <rloef@interfold.com> wrote: > I'm trying to get the sleuthkit/autopsy suite working on a 4.11 box. > sleuthkit dumps data from a partition image fine but when I run autopsy > (built either from ports or the sleuthkit site's source tarball I get > stuff like this: [perl barfing] I'm guessing here, but it might be that you're using the system perl where you really need a later version. The simplest way around that is to rebuild/reinstall the thing after you've installed a newer perl and selected it with use.perl port. Before you do that, you could try and check sleuthkits docs or website or so, which I haven't done. -- j ...

Can't shutdown. Won't shutdown.
My Mac Mini, version OSX 10.4.9, refuses to shut down correctly. The monitor displays a grey screen telling me I must switch off the Mini using the power button. I humbly obey but, when I switch on again, an annoying message tells me that the damned thing shut down unexpectedly. A minor and trivial niggle, I'm sure, but is there anything I can do to sort it? "Davo" <u33430@uwe> writes: >My Mac Mini, version OSX 10.4.9, refuses to shut down correctly. The monitor >displays a grey screen telling me I must switch off the Mini using the power >button. This sounds ...

I don't work for IBM and I don't make promises I can't deliver on
I wish I could afford an advertising campaign to compete with what they have on the Internet now. I promise to go totally ballistic at the next LLLNL contract. Robert. On 8/12/2011 11:24 PM, Robert Myers wrote: > I wish I could afford an advertising campaign to compete with what they > have on the Internet now. > > I promise to go totally ballistic at the next LLLNL contract. > > Robert. I don't work for IBM (anymore) either. If you are talking about the death of Blue Waters, I don't believe they said they couldn't deliver. They said they chose not to because they would lose a bunch of money on the project since it turned out to cost a lot more than the initial guess. And I guess Ben chose not to print some more to pay for it. On Aug 24, 11:17=A0pm, Del Cecchi <delcec...@gmail.com> wrote: > On 8/12/2011 11:24 PM, Robert Myers wrote: > > > I wish I could afford an advertising campaign to compete with what they > > have on the Internet now. > > > I promise to go totally ballistic at the next LLLNL contract. > > > Robert. > > I don't work for IBM (anymore) either. =A0If you are talking about the > death of Blue Waters, I don't believe they said they couldn't deliver. > They said they chose not to because they would lose a bunch of money on > the project since it turned out to cost a lot more than the initial guess= .. > > And I guess Ben chose not to print some mor...

I can't understand '-lpthread'
This program: thread1.c #include <pthread.h> /* include this header file */ #include <stdio.h> int sum; /* global data: this data is shared by the thread(s) */ void *runner(void *param); /* the thread */ int main(int argc, char *argv[]){ pthread_t tid; /* the thread identifier */ pthread_attr_t attr; /* declaration: set of attributes for the thread */ if (argc != 2) { fprintf(stderr,"usage: a.out <integer value>\n"); return -1; } if (atoi(argv[1]) < 0) { fprintf(stderr,"Arg...

Help: I can't figure out why this won't work
I have a hyperlink on an ASP page that calls another ASP page with the code shown below. This page allows (forces) a user to select a file to be uploaded, then should call a third ASP page that will do the actual upload. What happens is I can enter a file name but the third page doesn't get loaded. I see the upload page being called in the browser when the alert message displays, but then it appears to reload this page. What am I missing??? I should also note that the upload page opens fine if I move the location.href command outside of the function (for testing purposes). <FORM N...

rubygems won't install
I can't get rubygems to install, and I don't understand what the problem is or what to do about it. I'm running on Kubuntu Linux 8.04.1 I compiled ruby-1.8.6-p114 a couple of days ago. Note: tomc@tom-desktop:/$ which ruby /usr/local/bin/ruby tomc@tom-desktop:/$ ruby -v ruby 1.8.6 (2008-03-03 patchlevel 114) [i686-linux] tomc@tom-desktop:/$ I downloaded rubygems-1.2.0.tgz, unpacked it into /usr/local/src/. Then... tomc@tom-desktop:/usr/local/src/rubygems-1.2.0$ ruby setup.rb /lib/rubygems/spec_fetcher.rb:1:in `require': no such file to load -- zlib (LoadError) from ./lib/rubygems/spec_fetcher.rb:1 from ./lib/rubygems/source_index.rb:10:in `require' from ./lib/rubygems/source_index.rb:10 from ./lib/rubygems.rb:767:in `require' from ./lib/rubygems.rb:767 from setup.rb:22:in `require' from setup.rb:22 A couple of listings which may help my ruby compile listing: http://pastie.org/275615 output of "$ locate zlib" => http://pastie.org/275612 I'm barely able to do this stuff, and certainly don't understand what the complaint is about. I've had one kind, knowing soul look at this and he didn't find the problem. To someone here, I'm sure it'll be obvious. I sure hope he/she reads this! Thanks, Tom -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist Bellingham, Washington, U.S.A: ...

Matlab Won't start and I can't uninstall it
Hey guys, Matlab has been working a dream for me on my windows 7 notebook. But I haven't used it for a while and now when i attempt to open Matlab, the icon appears on the start menu bar and then dissapears. If I check in Task Manager it says that Matlab is running and using up to 50% of my CPU, however there is no way I can access the program istelf. In desperation I decided to uninstall and reinstall, however the same thing happened, the uninstaller opened then closed unexpectedly even though Task Manager reported it to still be running. Any ideas? Help would be very much appreciated...

OT: Ah Lawyers. Can't live with 'em, can't shoot them...
http://zdnet.com.com/2100-1104_2-1024234.html Is Google's cache cutting a cash flow? By Stefanie Olsen CNET News.com July 10, 2003, 7:03 AM PT Quote: "Many of us copyright lawyers have been waiting for this issue to come up: Google is making copies of all the Web sites they index and they're not asking permission," said Fred von Lohman, an attorney at the Electronic Frontier Foundation. "From a strict copyright standpoint, it violates copyright." * To join/leave the list, search archives, change list settings, * * etc., please visit http://rave...

OS X
after a bit of reading, it looks like I did a veeeeery shtupid thing... (I'm copying my post to this newsgroup, as the alt.sys.mac.newuser-help group didn't look quite as highly-trafficked...) anyways, here's what I did... ----------------------------------- in an effort to help the owner of a nice shiny new eMac 'clean up' their personal folder, I moved a few items... including the Library folder! it appears.... correct me if I'm wrong... that Mac OS X then created a NEW library... so we restarted it, and all the Quicken data, dialup info, (etc.) was gone... so we ...

Forms/Tables that can't/won't hold scroll
Hi all, I've tried finding an answer in the history, but only find a lot of historical posts where people didn't get answers to the same problem up to 5 or 6 years ago! I'm having a problem with Access2003 on Windows XP Pro where I often can't scroll. On some tables, I scroll vertically using the scroll bars, but when I let off the mouse button, it jumps back to whereever my cursor is. On some forms, if I don't have data to display, my users with smaller screens can't scroll to the right to see hidden buttons/drop downs. Does anyone know what's going on? Are t...

third program can't find why it won't work.
I am learning javascript from a book. I admit it is not the easiest or best way, but I wanted to learn and I had the books purchased from awhile back. I have some familiarity with C and HTML and wanted to expand my programming base. I have tried two of the programs in this book and they worked fine. Now on the third one I can't seem to get it to work. I know it is probably something simple but could you give it a look and steer me in the right direction? Here is the code the Script and HTML commands are commented out. I thought is was suppose to return a total value. <!--ml> <he...

I still can't figure out what server won't share.
I brought the Server home to connect to my P2P network. I haven't added AD to it yet. So now I can work on it with my home network of two w2k's. I renamed the workgroup to my home workgroup name. I then in order to start from scratch, removed the file server setup and also removed the share from the data folder making it a not share. Then, without setting up the File Server function, I just reshared the folder. I checked the attributes of the shared folder and it was Read Only so I unchecked that and applied to sub-folders and files. Strangely, when I came back to it, it was Rea...

I still can't figure out what server won't share.
I brought the Server home to connect to my P2P network. I haven't added AD to it yet. So now I can work on it with my home network of two w2k's. I renamed the workgroup to my home workgroup name. I then in order to start from scratch, removed the file server setup and also removed the share from the data folder making it a not share. Then, without setting up the File Server function, I just reshared the folder. I checked the attributes of the shared folder and it was Read Only so I unchecked that and applied to sub-folders and files. Strangely, when I came back to it, it was Rea...

Re: OT: Ah Lawyers. Can't live with 'em, can't shoot them...
Mark writes: > Is Google's cache cutting a cash flow? But on the positive side, last week the federal 9th circuit court affirmed that offering "thumbnails" of graphic images is "fair use"... http://yro.slashdot.org/article.pl?sid=03/07/07/2141216 G. * To join/leave the list, search archives, change list settings, * * etc., please visit http://raven.utc.edu/archives/hp3000-l.html * ...

Re: OT: Ah Lawyers. Can't live with 'em, can't shoot them...
Does that mean that every PC that maintains a cache of web content is violating copyright ? -----Original Message----- From: Mark Wonsil [mailto:wonsil@4m-ent.com] Sent: Friday, July 11, 2003 10:40 AM To: HP3000-L@RAVEN.UTC.EDU Subject: [HP3000-L] OT: Ah Lawyers. Can't live with 'em, can't shoot them... http://zdnet.com.com/2100-1104_2-1024234.html Is Google's cache cutting a cash flow? By Stefanie Olsen CNET News.com July 10, 2003, 7:03 AM PT Quote: "Many of us copyright lawyers have been waiting for this issue to come up: Google is making cop...

Can't Print, Can't Forward
Dear LN Experts, I have a simple Lotus Notes database containing a form with several fields but no subforms. In production, the application does not allow anyone to print documents created with the main form or to forward them via email. I have checked each field individually and confirmed that the form security setting allows printing and forwarding and I am at a loss to resolve the problem. Although I am a manager in the db, I myself am not allowed to print a document. The print option is grey in the file menu. If I create a new document, enter some data and save it,...

Can't do math. Can't read.
Can't do math. Can't read. We must be talking about Snit. LOL! ...

const_cast of `T* const t' to `T* t'
Hello, I can't figure out how to build assignment operator for class which contains "type* const value". --- example --- class parent_t; class child_t { private: friend class parent_t; // Private c'tor so only parent_t can create child_t child_t(parent_t* iparent): parent(iparent) {}; public: parent_t* const parent; } class parent_t: std::vector<child_t> { public: parent_t(void); } --------------- The problem is that I std::vector<child_t> complains that: error: non-static const member ` parent_t* const child_t::par...

'C-h' can't work?
I use emacs under cygwin. but I can't use C-h for help, why? sometimes, C-x C-c also can't work. Is this fault under cygwin? Could someone tell me? thanks! "ChaoZhang" <chaozh@nortel.com> writes: > I use emacs under cygwin. but I can't use C-h for help, why? > sometimes, C-x C-c also can't work. Is this fault under cygwin? > Could someone tell me? thanks! Most probably because C-h is used as backspace. Try: C-u -1 M-x normal-erase-is-backspace-mode RET C-h h If now C-h works, you can add this: (normal-erase-is-backspace-mode -1) to your ~...

Re: OT: Ah Lawyers. Can't live with 'em, can't shoot them... #2
> -----Original Message----- > From: John Lee [mailto:jlee@vaskecomputer.com] > Sent: Friday, July 11, 2003 11:41 AM > To: HP3000-L@RAVEN.UTC.EDU > Subject: Re: [HP3000-L] OT: Ah Lawyers. Can't live with 'em, > can't shoot > them... > > > Good question. And what if it's a cookie? And how do you > determine that? > And if I get a cookie that I didn't "authorize", am I entitled to > compensation for rental use of my disk space? > > John Lee Or worse yet, what if it's one of these: Hackers Hijack PC's for Sex Sites By JOHN SCHWARTZ http://www.nytimes.com/2003/07/11/technology/11HACK.html?th (You gotta be a subscriber, free, yada-yada, minor copyright violation below:) More than a thousand unsuspecting Internet users around the world have recently had their computers hijacked by hackers, who computer security experts say are using them for pornographic Web sites. The hijacked computers, which are chosen by the hackers apparently because they have high-speed connections to the Internet, are secretly loaded with software that makes them send explicit Web pages advertising pornographic sites and offer to sign visitors up as customers. Unless the owner of the hijacked computer is technologically sophisticated, the activity is likely to go unnoticed. The program, which only briefly downloads the pornographic material to the usurped compute...

Web resources about - Can't understand why this won't compile - comp.lang.c++.moderated

Resonate Social For Facebook Helps Advertisers Understand Users’ Motivations
Why do Facebook users make the decisions they make? Resonate wants to help advertisers find out, so the digital marketing outfit launched Resonate ...

Facebook PMD Gigya releases Consumer Insights to better understand user identities
... allows marketers to easily query Gigya’s Identity Storage database and tie identity information with key performance indicators to understand ...

Genius by Rap Genius — Search and understand the meaning of song lyrics, poetry, literature, and news ...
Get Genius by Rap Genius — Search and understand the meaning of song lyrics, poetry, literature, and news on the App Store. See screenshots and ...

All sizes - Understand Abundance & Breath - Flickr - Photo Sharing!
Flickr is almost certainly the best online photo management and sharing application in the world. Show off your favorite photos and videos to ...

Kate Micucci & Tony Thaxton - "Puppets Understand" - YouTube
Subscribe for more Nerdist Presents: http://nerdi.st/subscribe Written and Performed by KATE MICUCCI & TONY THAXTON Watch Duo: http://youtu.be/Tj5RLliHNMQ ...

Scientists continue search to understand Mers
The Mers coronavirus continues to confound scientists. To better understand the disease and determine where it comes from, a new project set ...

Explainer Video of the Day: Author John Green Helps You Understand Boko Haram
... in the news, but the situation in Nigeria with the Islamist terrorist group Boko Haram often gets overlooked and can be difficult to understand. ...

The Aussie rules love affair and one who can't understand it
Football (the AFL variety) and I have always had a tumultuous relationship. I've never really understood its allure, but it's always been there, ...

14 Accounting Terms Everyone In Small Business Needs To Understand
Like any profession, accounting has what seems to be impenetrable jargon to outsiders. But, also like most professions, the jargon is just shorthand ...

Tony Abbott doesn't understand the China challenge
The Australian government's new attitude towards China's foreign policy underestimates that country's determination to change the geopolitical ...

Resources last updated: 2/28/2016 8:29:58 AM