In book 2 chapter 7.1 we introduce class diffuse_light and implement method scatter().
Book 3 Listing 44 change the signature of scatter() of parent class material, so all the derived class should also be changed. But we can't find diffuse_light's scatter() method that modified in book 3.
So the scatter() method in class diffuse_light may need to be marked as removed or changed the signature to match the material::scatter()'s signature.